diff --git a/Changelog.yaml b/Changelog.yaml
index 544d6a72f8..017e0b0528 100644
--- a/Changelog.yaml
+++ b/Changelog.yaml
@@ -19,6 +19,67 @@
# new recipes:
# - title:
+- version: 0.8.5
+ date: 2011-06-10
+
+ new features:
+ - title: "A new 'portable' calibre build, useful if you like to carry around calibre and its library on a USB key"
+ type: major
+ description: "For details, see: http://calibre-ebook.com/download_portable"
+
+ - title: "E-book viewer: Remember the last used font size multiplier."
+ tickets: [774343]
+
+ - title: "Preliminary support for the Kobo Touch. Drivers for the ZTE v9 tablet, Samsung S2, Notion Ink Adam and PocketBook 360+"
+
+ - title: "When downloading metadata merge rather than replace tags"
+
+ - title: "Edit metadata dialog: When pasting in an ISBN, if not valid ISBN if present on the clipboard popup a box for the user to enter the ISBN"
+
+ - title: "Windows build: Add code to load .pyd python extensions from a zip file. This allows many more files in the calibre installation to be zipped up, speeding up the installer."
+ - title: "Add an action to remove all formats from the selected books to the remove books button"
+
+
+ bug fixes:
+ - title: "Various minor bug fixes to the column coloring code"
+
+ - title: "Fix the not() template function"
+
+ - title: "Nook Color/TSR: When sending books to the storage card place them in the My Files/Books subdirectory. Also do not upload cover thumbnails as users report that the NC/TSR don't use them."
+ tickets: [792842]
+
+ - title: "Get Books: Update plugins for Amazon and B&N stores to handle website changes. Enable some stores by default on first run. Add Zixo store"
+ tickets: [792762]
+
+ - title: "Comic Input: Replace the # character in filenames as it can cause problem with conversion/vieweing."
+ tickets: [792723]
+
+ - title: "When writing files to zipfile, reset timestamp if it doesn't fit in 1980's vintage storage structures"
+
+ - title: "Amazon metadata plugin: Fix parsing of published date from amazon.de when it has februar in it"
+
+ improved recipes:
+ - Ambito
+ - GoComics
+ - Le Monde Diplomatique
+ - Max Planck
+ - express.de
+
+ new recipes:
+ - title: Ambito Financiero
+ author: Darko Miletic
+
+ - title: Stiin Tas Technica
+ author: Silviu Cotoara
+
+ - title: "Metro News NL"
+ author: DrMerry
+
+ - title: "Brigitte.de, Polizeipresse DE and Heise Online"
+ author: schuster
+
+
+
- version: 0.8.4
date: 2011-06-03
diff --git a/recipes/ambito.recipe b/recipes/ambito.recipe
index dd92ee19b3..55a532bb9e 100644
--- a/recipes/ambito.recipe
+++ b/recipes/ambito.recipe
@@ -1,7 +1,5 @@
-#!/usr/bin/env python
-
__license__ = 'GPL v3'
-__copyright__ = '2008-2009, Darko Miletic '
+__copyright__ = '2008-2011, Darko Miletic '
'''
ambito.com
'''
@@ -11,51 +9,56 @@
class Ambito(BasicNewsRecipe):
title = 'Ambito.com'
__author__ = 'Darko Miletic'
- description = 'Informacion Libre las 24 horas'
- publisher = 'Ambito.com'
- category = 'news, politics, Argentina'
+ description = 'Ambito.com con noticias del Diario Ambito Financiero de Buenos Aires'
+ publisher = 'Editorial Nefir S.A.'
+ category = 'news, politics, economy, finances, Argentina'
oldest_article = 2
- max_articles_per_feed = 100
no_stylesheets = True
- encoding = 'iso-8859-1'
- cover_url = 'http://www.ambito.com/img/logo_.jpg'
- remove_javascript = True
+ encoding = 'cp1252'
+ masthead_url = 'http://www.ambito.com/img/logo_.jpg'
use_embedded_content = False
+ language = 'es_AR'
+ publication_type = 'newsportal'
+ extra_css = """
+ body{font-family: "Trebuchet MS",Verdana,sans-serif}
+ .volanta{font-size: small}
+ .t2_portada{font-size: xx-large; font-family: Georgia,serif; color: #026698}
+ """
- html2lrf_options = [
- '--comment', description
- , '--category', category
- , '--publisher', publisher
- ]
- html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"'
+ conversion_options = {
+ 'comment' : description
+ , 'tags' : category
+ , 'publisher' : publisher
+ , 'language' : language
+ }
keep_only_tags = [dict(name='div', attrs={'align':'justify'})]
-
- remove_tags = [dict(name=['object','link'])]
+ remove_tags = [dict(name=['object','link','embed','iframe','meta','link','table','img'])]
+ remove_attributes = ['align']
feeds = [
(u'Principales Noticias', u'http://www.ambito.com/rss/noticiasp.asp' )
,(u'Economia' , u'http://www.ambito.com/rss/noticias.asp?S=Econom%EDa' )
,(u'Politica' , u'http://www.ambito.com/rss/noticias.asp?S=Pol%EDtica' )
,(u'Informacion General' , u'http://www.ambito.com/rss/noticias.asp?S=Informaci%F3n%20General')
- ,(u'Agro' , u'http://www.ambito.com/rss/noticias.asp?S=Agro' )
+ ,(u'Campo' , u'http://www.ambito.com/rss/noticias.asp?S=Agro' )
,(u'Internacionales' , u'http://www.ambito.com/rss/noticias.asp?S=Internacionales' )
,(u'Deportes' , u'http://www.ambito.com/rss/noticias.asp?S=Deportes' )
,(u'Espectaculos' , u'http://www.ambito.com/rss/noticias.asp?S=Espect%E1culos' )
- ,(u'Tecnologia' , u'http://www.ambito.com/rss/noticias.asp?S=Tecnologia' )
- ,(u'Salud' , u'http://www.ambito.com/rss/noticias.asp?S=Salud' )
+ ,(u'Tecnologia' , u'http://www.ambito.com/rss/noticias.asp?S=Tecnolog%EDa' )
,(u'Ambito Nacional' , u'http://www.ambito.com/rss/noticias.asp?S=Ambito%20Nacional' )
]
def print_version(self, url):
- return url.replace('http://www.ambito.com/noticia.asp?','http://www.ambito.com/noticias/imprimir.asp?')
+ return url.replace('/noticia.asp?','/noticias/imprimir.asp?')
def preprocess_html(self, soup):
- mtag = ''
- soup.head.insert(0,mtag)
for item in soup.findAll(style=True):
del item['style']
+ for item in soup.findAll('a'):
+ str = item.string
+ if str is None:
+ str = self.tag_to_string(item)
+ item.replaceWith(str)
return soup
-
- language = 'es_AR'
diff --git a/recipes/ambito_financiero.recipe b/recipes/ambito_financiero.recipe
new file mode 100644
index 0000000000..08c056e8ee
--- /dev/null
+++ b/recipes/ambito_financiero.recipe
@@ -0,0 +1,87 @@
+__license__ = 'GPL v3'
+__copyright__ = '2011, Darko Miletic '
+'''
+ambito.com/diario
+'''
+
+import time
+from calibre import strftime
+from calibre.web.feeds.news import BasicNewsRecipe
+
+class Ambito_Financiero(BasicNewsRecipe):
+ title = 'Ambito Financiero'
+ __author__ = 'Darko Miletic'
+ description = 'Informacion Libre las 24 horas'
+ publisher = 'Editorial Nefir S.A.'
+ category = 'news, politics, economy, Argentina'
+ no_stylesheets = True
+ encoding = 'cp1252'
+ masthead_url = 'http://www.ambito.com/diario/img/logo_af.gif'
+ publication_type = 'newspaper'
+ needs_subscription = 'optional'
+ use_embedded_content = False
+ language = 'es_AR'
+ PREFIX = 'http://www.ambito.com'
+ INDEX = PREFIX + '/diario/index.asp'
+ LOGIN = PREFIX + '/diario/login/entrada.asp'
+ extra_css = """
+ body{font-family: "Trebuchet MS",Verdana,sans-serif}
+ .volanta{font-size: small}
+ .t2_portada{font-size: xx-large; font-family: Georgia,serif; color: #026698}
+ """
+
+ conversion_options = {
+ 'comment' : description
+ , 'tags' : category
+ , 'publisher' : publisher
+ , 'language' : language
+ }
+
+ keep_only_tags = [dict(name='div', attrs={'align':'justify'})]
+ remove_tags = [dict(name=['object','link','embed','iframe','meta','link','table','img'])]
+ remove_attributes = ['align']
+
+ def get_browser(self):
+ br = BasicNewsRecipe.get_browser()
+ br.open(self.INDEX)
+ if self.username is not None and self.password is not None:
+ br.open(self.LOGIN)
+ br.select_form(name='frmlogin')
+ br['USER_NAME'] = self.username
+ br['USER_PASS'] = self.password
+ br.submit()
+ return br
+
+ def print_version(self, url):
+ return url.replace('/diario/noticia.asp?','/noticias/imprimir.asp?')
+
+ def preprocess_html(self, soup):
+ for item in soup.findAll(style=True):
+ del item['style']
+ for item in soup.findAll('a'):
+ str = item.string
+ if str is None:
+ str = self.tag_to_string(item)
+ item.replaceWith(str)
+ return soup
+
+ def parse_index(self):
+ soup = self.index_to_soup(self.INDEX)
+ cover_item = soup.find('img',attrs={'class':'fotodespliegue'})
+ if cover_item:
+ self.cover_url = self.PREFIX + cover_item['src']
+ articles = []
+ checker = []
+ for feed_link in soup.findAll('a', attrs={'class':['t0_portada','t2_portada','bajada']}):
+ url = self.PREFIX + feed_link['href']
+ title = self.tag_to_string(feed_link)
+ date = strftime("%a, %d %b %Y %H:%M:%S +0000",time.gmtime())
+ if url not in checker:
+ checker.append(url)
+ articles.append({
+ 'title' :title
+ ,'date' :date
+ ,'url' :url
+ ,'description':u''
+ })
+ return [(self.title, articles)]
diff --git a/recipes/daily_mirror.recipe b/recipes/daily_mirror.recipe
new file mode 100644
index 0000000000..5d4dbe3f4b
--- /dev/null
+++ b/recipes/daily_mirror.recipe
@@ -0,0 +1,52 @@
+from calibre.web.feeds.news import BasicNewsRecipe
+
+class AdvancedUserRecipe1306061239(BasicNewsRecipe):
+ title = u'The Daily Mirror'
+ description = 'News as provide by The Daily Mirror -UK'
+
+ __author__ = 'Dave Asbury'
+ language = 'en_GB'
+
+ cover_url = 'http://yookeo.com/screens/m/i/mirror.co.uk.jpg'
+
+ masthead_url = 'http://www.nmauk.co.uk/nma/images/daily_mirror.gif'
+
+
+ oldest_article = 1
+ max_articles_per_feed = 100
+ remove_empty_feeds = True
+ remove_javascript = True
+ no_stylesheets = True
+
+ keep_only_tags = [
+ dict(name='h1'),
+ dict(attrs={'class':['article-attr']}),
+ dict(name='div', attrs={'class' : [ 'article-body', 'crosshead']})
+
+
+ ]
+
+ remove_tags = [
+ dict(name='div', attrs={'class' : ['caption', 'article-resize']}),
+ dict( attrs={'class':'append-html'})
+ ]
+
+
+
+
+ feeds = [
+
+ (u'News', u'http://www.mirror.co.uk/news/rss.xml')
+ ,(u'Tech News', u'http://www.mirror.co.uk/news/technology/rss.xml')
+ ,(u'Weird World','http://www.mirror.co.uk/news/weird-world/rss.xml')
+ ,(u'Film Gossip','http://www.mirror.co.uk/celebs/film/rss.xml')
+ ,(u'Music News','http://www.mirror.co.uk/celebs/music/rss.xml')
+ ,(u'Celebs and Tv Gossip','http://www.mirror.co.uk/celebs/tv/rss.xml')
+ ,(u'Sport','http://www.mirror.co.uk/sport/rss.xml')
+ ,(u'Life Style','http://www.mirror.co.uk/life-style/rss.xml')
+ ,(u'Advice','http://www.mirror.co.uk/advice/rss.xml')
+ ,(u'Travel','http://www.mirror.co.uk/advice/travel/rss.xml')
+
+ # example of commented out feed not needed ,(u'Travel','http://www.mirror.co.uk/advice/travel/rss.xml')
+ ]
+
diff --git a/recipes/icons/ambito_financiero.png b/recipes/icons/ambito_financiero.png
new file mode 100644
index 0000000000..e0a6f409cf
Binary files /dev/null and b/recipes/icons/ambito_financiero.png differ
diff --git a/recipes/icons/observatorul_cultural.png b/recipes/icons/observatorul_cultural.png
new file mode 100644
index 0000000000..f322bd01dc
Binary files /dev/null and b/recipes/icons/observatorul_cultural.png differ
diff --git a/recipes/icons/stiintasitehnica.png b/recipes/icons/stiintasitehnica.png
new file mode 100644
index 0000000000..eb16ec3a0e
Binary files /dev/null and b/recipes/icons/stiintasitehnica.png differ
diff --git a/recipes/nme.recipe b/recipes/nme.recipe
new file mode 100644
index 0000000000..70e8e24fde
--- /dev/null
+++ b/recipes/nme.recipe
@@ -0,0 +1,42 @@
+from calibre.web.feeds.news import BasicNewsRecipe
+
+class AdvancedUserRecipe1306061239(BasicNewsRecipe):
+ title = u'New Musical Express Magazine'
+ __author__ = "scissors"
+ language = 'en'
+ remove_empty_feeds = True
+ remove_javascript = True
+ no_stylesheets = True
+ oldest_article = 7
+ max_articles_per_feed = 100
+ cover_url = 'http://tawanda3000.files.wordpress.com/2011/02/nme-logo.jpg'
+
+ remove_tags = [
+ dict( attrs={'class':'clear_icons'}),
+ dict( attrs={'class':'share_links'}),
+ dict( attrs={'id':'right_panel'}),
+ dict( attrs={'class':'today box'})
+
+]
+
+ keep_only_tags = [
+
+ dict(name='h1'),
+ #dict(name='h3'),
+ dict(attrs={'class' : 'BText'}),
+ dict(attrs={'class' : 'Bmore'}),
+ dict(attrs={'class' : 'bPosts'}),
+ dict(attrs={'class' : 'text'}),
+ dict(attrs={'id' : 'article_gallery'}),
+ dict(attrs={'class' : 'article_text'})
+]
+
+
+
+
+ feeds = [
+ (u'NME News', u'http://feeds2.feedburner.com/nmecom/rss/newsxml'),
+ (u'Reviews', u'http://feeds2.feedburner.com/nme/SdML'),
+ (u'Blogs', u'http://www.nme.com/blog/index.php?blog=140&tempskin=_rss2'),
+
+ ]
diff --git a/recipes/stiintasitehnica.recipe b/recipes/stiintasitehnica.recipe
new file mode 100644
index 0000000000..c58a115b56
--- /dev/null
+++ b/recipes/stiintasitehnica.recipe
@@ -0,0 +1,56 @@
+# -*- coding: utf-8 -*-
+#!/usr/bin/env python
+
+__license__ = 'GPL v3'
+__copyright__ = u'2011, Silviu Cotoar\u0103'
+'''
+stiintasitehnica.com
+'''
+
+from calibre.web.feeds.news import BasicNewsRecipe
+
+class Stiintasitehnica(BasicNewsRecipe):
+ title = u'\u0218tiin\u021b\u0103 \u015fi Tehnic\u0103'
+ __author__ = u'Silviu Cotoar\u0103'
+ description = u'\u0218tiin\u021b\u0103 \u015fi Tehnic\u0103'
+ publisher = u'\u0218tiin\u021b\u0103 \u015fi Tehnic\u0103'
+ oldest_article = 50
+ language = 'ro'
+ max_articles_per_feed = 100
+ no_stylesheets = True
+ use_embedded_content = False
+ category = u'Ziare,Reviste,Stiinta,Tehnica'
+ encoding = 'utf-8'
+ cover_url = 'http://www.stiintasitehnica.com/images/logo.jpg'
+
+ conversion_options = {
+ 'comments' : description
+ ,'tags' : category
+ ,'language' : language
+ ,'publisher' : publisher
+ }
+
+ keep_only_tags = [
+ dict(name='div', attrs={'id':'mainColumn2'})
+ ]
+
+ remove_tags = [
+ dict(name='span', attrs={'class':['redEar']})
+ , dict(name='table', attrs={'class':['connect_widget_interactive_area']})
+ , dict(name='div', attrs={'class':['panel-overlay']})
+ , dict(name='div', attrs={'id':['pointer']})
+ , dict(name='img', attrs={'class':['nav-next', 'nav-prev']})
+ , dict(name='table', attrs={'class':['connect_widget_interactive_area']})
+ , dict(name='hr', attrs={'class':['dotted']})
+ ]
+
+ remove_tags_after = [
+ dict(name='hr', attrs={'class':['dotted']})
+ ]
+
+ feeds = [
+ (u'Feeds', u'http://www.stiintasitehnica.com/rss/stiri.xml')
+ ]
+
+ def preprocess_html(self, soup):
+ return self.adeify_images(soup)
diff --git a/resources/templates/fb2.xsl b/resources/templates/fb2.xsl
index 273edd71ae..5424c226d7 100644
--- a/resources/templates/fb2.xsl
+++ b/resources/templates/fb2.xsl
@@ -32,16 +32,11 @@
diff --git a/setup/installer/windows/freeze.py b/setup/installer/windows/freeze.py
index d901b51642..026cac99cf 100644
--- a/setup/installer/windows/freeze.py
+++ b/setup/installer/windows/freeze.py
@@ -179,6 +179,24 @@ def ignore_lib(root, items):
shutil.copytree(self.j(comext, 'shell'), self.j(sp_dir, 'win32com', 'shell'))
shutil.rmtree(comext)
+ # Fix PyCrypto, removing the bootstrap .py modules that load the .pyd
+ # modules, since they do not work when in a zip file
+ for crypto_dir in glob.glob(self.j(sp_dir, 'pycrypto-*', 'Crypto')):
+ for dirpath, dirnames, filenames in os.walk(crypto_dir):
+ for f in filenames:
+ name, ext = os.path.splitext(f)
+ if ext == '.pyd':
+ with open(self.j(dirpath, name+'.py')) as f:
+ raw = f.read().strip()
+ if (not raw.startswith('def __bootstrap__') or not
+ raw.endswith('__bootstrap__()')):
+ raise Exception('The PyCrypto file %r has non'
+ ' bootstrap code'%self.j(dirpath, f))
+ for ext in ('.py', '.pyc', '.pyo'):
+ x = self.j(dirpath, name+ext)
+ if os.path.exists(x):
+ os.remove(x)
+
for pat in (r'PyQt4\uic\port_v3', ):
x = glob.glob(self.j(self.lib_dir, 'site-packages', pat))[0]
shutil.rmtree(x)
diff --git a/src/calibre/constants.py b/src/calibre/constants.py
index 2c5a151a27..f6b0a8d802 100644
--- a/src/calibre/constants.py
+++ b/src/calibre/constants.py
@@ -4,7 +4,7 @@
__copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net'
__docformat__ = 'restructuredtext en'
__appname__ = u'calibre'
-numeric_version = (0, 8, 4)
+numeric_version = (0, 8, 5)
__version__ = u'.'.join(map(unicode, numeric_version))
__author__ = u"Kovid Goyal "
diff --git a/src/calibre/customize/ui.py b/src/calibre/customize/ui.py
index 0a21b0b42e..24b720ec3e 100644
--- a/src/calibre/customize/ui.py
+++ b/src/calibre/customize/ui.py
@@ -355,11 +355,17 @@ def remove_plugin(plugin_or_name):
name = getattr(plugin_or_name, 'name', plugin_or_name)
plugins = config['plugins']
removed = False
- if name in plugins.keys():
+ if name in plugins:
removed = True
- zfp = plugins[name]
- if os.path.exists(zfp):
- os.remove(zfp)
+ try:
+ zfp = os.path.join(plugin_dir, name+'.zip')
+ if os.path.exists(zfp):
+ os.remove(zfp)
+ zfp = plugins[name]
+ if os.path.exists(zfp):
+ os.remove(zfp)
+ except:
+ pass
plugins.pop(name)
config['plugins'] = plugins
initialize_plugins()
@@ -495,8 +501,15 @@ def initialize_plugins():
builtin_names]
for p in conflicts:
remove_plugin(p)
- for zfp in list(config['plugins'].itervalues()) + builtin_plugins:
+ external_plugins = config['plugins']
+ for zfp in list(external_plugins) + builtin_plugins:
try:
+ if not isinstance(zfp, type):
+ # We have a plugin name
+ pname = zfp
+ zfp = os.path.join(plugin_dir, zfp+'.zip')
+ if not os.path.exists(zfp):
+ zfp = external_plugins[pname]
try:
plugin = load_plugin(zfp) if not isinstance(zfp, type) else zfp
except PluginNotFound:
diff --git a/src/calibre/devices/kobo/driver.py b/src/calibre/devices/kobo/driver.py
index f5c9a74733..04fb3c37b0 100644
--- a/src/calibre/devices/kobo/driver.py
+++ b/src/calibre/devices/kobo/driver.py
@@ -21,7 +21,7 @@ class KOBO(USBMS):
name = 'Kobo Reader Device Interface'
gui_name = 'Kobo Reader'
description = _('Communicate with the Kobo Reader')
- author = 'Timothy Legge and Kovid Goyal'
+ author = 'Timothy Legge'
version = (1, 0, 9)
dbversion = 0
@@ -37,8 +37,8 @@ class KOBO(USBMS):
CAN_SET_METADATA = ['collections']
VENDOR_ID = [0x2237]
- PRODUCT_ID = [0x4161]
- BCD = [0x0110, 0x0323]
+ PRODUCT_ID = [0x4161, 0x4163]
+ BCD = [0x0110, 0x0323, 0x0326]
VENDOR_NAME = ['KOBO_INC', 'KOBO']
WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = ['.KOBOEREADER', 'EREADER']
diff --git a/src/calibre/devices/nook/driver.py b/src/calibre/devices/nook/driver.py
index 72f2e02508..e09fb7eaf9 100644
--- a/src/calibre/devices/nook/driver.py
+++ b/src/calibre/devices/nook/driver.py
@@ -77,7 +77,6 @@ def upload_cover(self, path, filename, metadata, filepath):
with open('%s.jpg' % os.path.join(path, filename), 'wb') as coverfile:
coverfile.write(coverdata)
-
def sanitize_path_components(self, components):
return [x.replace('#', '_') for x in components]
@@ -110,6 +109,11 @@ def create_upload_path(self, path, mdata, fname, create_dirs=True):
def upload_cover(self, path, filename, metadata, filepath):
pass
+ def get_carda_ebook_dir(self, for_upload=False):
+ if for_upload:
+ return 'My Files/Books'
+ return ''
+
class NOOK_TSR(NOOK):
gui_name = _('Nook Simple')
description = _('Communicate with the Nook TSR eBook reader.')
@@ -117,9 +121,15 @@ class NOOK_TSR(NOOK):
PRODUCT_ID = [0x003]
BCD = [0x216]
- EBOOK_DIR_MAIN = EBOOK_DIR_CARD_A = 'My Files/Books'
+ EBOOK_DIR_MAIN = 'My Files/Books'
WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = 'EBOOK_DISK'
def upload_cover(self, path, filename, metadata, filepath):
pass
+ def get_carda_ebook_dir(self, for_upload=False):
+ if for_upload:
+ return 'My Files/Books'
+ return ''
+
+
diff --git a/src/calibre/devices/usbms/device.py b/src/calibre/devices/usbms/device.py
index 45b72abe74..f0090989d9 100644
--- a/src/calibre/devices/usbms/device.py
+++ b/src/calibre/devices/usbms/device.py
@@ -837,6 +837,9 @@ def post_yank_cleanup(self):
def get_main_ebook_dir(self, for_upload=False):
return self.EBOOK_DIR_MAIN
+ def get_carda_ebook_dir(self, for_upload=False):
+ return self.EBOOK_DIR_CARD_A
+
def _sanity_check(self, on_card, files):
if on_card == 'carda' and not self._card_a_prefix:
raise ValueError(_('The reader has no storage card in this slot.'))
@@ -847,7 +850,7 @@ def _sanity_check(self, on_card, files):
if on_card == 'carda':
path = os.path.join(self._card_a_prefix,
- *(self.EBOOK_DIR_CARD_A.split('/')))
+ *(self.get_carda_ebook_dir(for_upload=True).split('/')))
elif on_card == 'cardb':
path = os.path.join(self._card_b_prefix,
*(self.EBOOK_DIR_CARD_B.split('/')))
diff --git a/src/calibre/devices/usbms/driver.py b/src/calibre/devices/usbms/driver.py
index c8580f6741..e568bd2587 100644
--- a/src/calibre/devices/usbms/driver.py
+++ b/src/calibre/devices/usbms/driver.py
@@ -132,7 +132,7 @@ def books(self, oncard=None, end_session=True):
self._card_b_prefix if oncard == 'cardb' \
else self._main_prefix
- ebook_dirs = self.EBOOK_DIR_CARD_A if oncard == 'carda' else \
+ ebook_dirs = self.get_carda_ebook_dir() if oncard == 'carda' else \
self.EBOOK_DIR_CARD_B if oncard == 'cardb' else \
self.get_main_ebook_dir()
diff --git a/src/calibre/gui2/actions/edit_metadata.py b/src/calibre/gui2/actions/edit_metadata.py
index 384bf4c9be..650947100e 100644
--- a/src/calibre/gui2/actions/edit_metadata.py
+++ b/src/calibre/gui2/actions/edit_metadata.py
@@ -439,7 +439,8 @@ def edit_device_collections(self, view, oncard=None):
view.reset()
# Apply bulk metadata changes {{{
- def apply_metadata_changes(self, id_map, title=None, msg='', callback=None):
+ def apply_metadata_changes(self, id_map, title=None, msg='', callback=None,
+ merge_tags=True):
'''
Apply the metadata changes in id_map to the database synchronously
id_map must be a mapping of ids to Metadata objects. Set any fields you
@@ -466,9 +467,9 @@ def apply_metadata_changes(self, id_map, title=None, msg='', callback=None):
cancelable=False)
self.apply_pd.setModal(True)
self.apply_pd.show()
+ self._am_merge_tags = True
self.do_one_apply()
-
def do_one_apply(self):
if self.apply_current_idx >= len(self.apply_id_map):
return self.finalize_apply()
@@ -484,6 +485,12 @@ def do_one_apply(self):
mi.identifiers = idents
if mi.is_null('series'):
mi.series_index = None
+ if self._am_merge_tags:
+ old_tags = db.tags(i, index_is_id=True)
+ if old_tags:
+ tags = [x.strip() for x in old_tags.split(',')] + (
+ mi.tags if mi.tags else [])
+ mi.tags = list(set(tags))
db.set_metadata(i, mi, commit=False, set_title=set_title,
set_authors=set_authors, notify=False)
self.applied_ids.append(i)
diff --git a/src/calibre/gui2/convert/epub_output.ui b/src/calibre/gui2/convert/epub_output.ui
index a0d9570226..606ed62065 100644
--- a/src/calibre/gui2/convert/epub_output.ui
+++ b/src/calibre/gui2/convert/epub_output.ui
@@ -58,7 +58,7 @@
KB
- 100
+ 251000000
diff --git a/src/calibre/gui2/metadata/basic_widgets.py b/src/calibre/gui2/metadata/basic_widgets.py
index da01291857..f865a5c62c 100644
--- a/src/calibre/gui2/metadata/basic_widgets.py
+++ b/src/calibre/gui2/metadata/basic_widgets.py
@@ -1074,16 +1074,16 @@ def paste_isbn(self):
# }}}
-class ISBNDialog(QDialog) :
+class ISBNDialog(QDialog) : # {{{
def __init__(self, parent, txt):
QDialog.__init__(self, parent)
l = QGridLayout()
self.setLayout(l)
- self.setWindowTitle(_('Empty or Invalid ISBN'))
- w = QLabel(_('Enter a different ISBN value if desired'))
+ self.setWindowTitle(_('Invalid ISBN'))
+ w = QLabel(_('Enter an ISBN'))
l.addWidget(w, 0, 0, 1, 2)
- w = QLabel(_('Value:'))
+ w = QLabel(_('ISBN:'))
l.addWidget(w, 1, 0, 1, 1)
self.line_edit = w = QLineEdit();
w.setText(txt)
@@ -1095,6 +1095,17 @@ def __init__(self, parent, txt):
w.accepted.connect(self.accept)
w.rejected.connect(self.reject)
self.checkText(self.text())
+ sz = self.sizeHint()
+ sz.setWidth(sz.width()+50)
+ self.resize(sz)
+
+ def accept(self):
+ isbn = unicode(self.line_edit.text())
+ if not check_isbn(isbn):
+ return error_dialog(self, _('Invalid ISBN'),
+ _('The ISBN you entered is not valid. Try again.'),
+ show=True)
+ QDialog.accept(self)
def checkText(self, txt):
isbn = unicode(txt)
@@ -1113,6 +1124,8 @@ def checkText(self, txt):
def text(self):
return unicode(self.line_edit.text())
+# }}}
+
class PublisherEdit(MultiCompleteComboBox): # {{{
LABEL = _('&Publisher:')
diff --git a/src/calibre/gui2/metadata/single.py b/src/calibre/gui2/metadata/single.py
index 099831ccba..b62aa28a68 100644
--- a/src/calibre/gui2/metadata/single.py
+++ b/src/calibre/gui2/metadata/single.py
@@ -315,7 +315,7 @@ def cover_from_format(self, *args):
show=True)
return
- def update_from_mi(self, mi, update_sorts=True):
+ def update_from_mi(self, mi, update_sorts=True, merge_tags=True):
if not mi.is_null('title'):
self.title.current_val = mi.title
if update_sorts:
@@ -334,7 +334,11 @@ def update_from_mi(self, mi, update_sorts=True):
if not mi.is_null('publisher'):
self.publisher.current_val = mi.publisher
if not mi.is_null('tags'):
- self.tags.current_val = mi.tags
+ old_tags = self.tags.current_val
+ tags = mi.tags if mi.tags else []
+ if old_tags and merge_tags:
+ tags += old_tags
+ self.tags.current_val = tags
if not mi.is_null('identifiers'):
current = self.identifiers.current_val
current.update(mi.identifiers)
diff --git a/src/calibre/gui2/viewer/documentview.py b/src/calibre/gui2/viewer/documentview.py
index 808a764196..fcd02e5e1b 100644
--- a/src/calibre/gui2/viewer/documentview.py
+++ b/src/calibre/gui2/viewer/documentview.py
@@ -8,10 +8,11 @@
from base64 import b64encode
from functools import partial
-from PyQt4.Qt import QSize, QSizePolicy, QUrl, SIGNAL, Qt, QTimer, \
- QPainter, QPalette, QBrush, QFontDatabase, QDialog, \
- QColor, QPoint, QImage, QRegion, QVariant, QIcon, \
- QFont, pyqtSignature, QAction, QByteArray, QMenu
+from PyQt4.Qt import (QSize, QSizePolicy, QUrl, SIGNAL, Qt, QTimer,
+ QPainter, QPalette, QBrush, QFontDatabase, QDialog,
+ QColor, QPoint, QImage, QRegion, QVariant, QIcon,
+ QFont, pyqtSignature, QAction, QByteArray, QMenu,
+ pyqtSignal)
from PyQt4.QtWebKit import QWebPage, QWebView, QWebSettings
from calibre.utils.config import Config, StringConfig
@@ -496,6 +497,7 @@ def __init__(self, html):
class DocumentView(QWebView): # {{{
+ magnification_changed = pyqtSignal(object)
DISABLED_BRUSH = QBrush(Qt.lightGray, Qt.Dense5Pattern)
def __init__(self, *args):
@@ -908,15 +910,22 @@ def scroll_to(self, pos, notify=True):
if notify and self.manager is not None and self.document.ypos != old_pos:
self.manager.scrolled(self.scroll_fraction)
+ @dynamic_property
def multiplier(self):
- return self.document.mainFrame().textSizeMultiplier()
+ def fget(self):
+ return self.document.mainFrame().textSizeMultiplier()
+ def fset(self, val):
+ self.document.mainFrame().setTextSizeMultiplier(val)
+ self.magnification_changed.emit(val)
+ return property(fget=fget, fset=fset)
def magnify_fonts(self):
- self.document.mainFrame().setTextSizeMultiplier(self.multiplier()+0.2)
+ self.multiplier += 0.2
return self.document.scroll_fraction
def shrink_fonts(self):
- self.document.mainFrame().setTextSizeMultiplier(max(self.multiplier()-0.2, 0))
+ if self.multiplier >= 0.2:
+ self.multiplier -= 0.2
return self.document.scroll_fraction
def changeEvent(self, event):
diff --git a/src/calibre/gui2/viewer/main.py b/src/calibre/gui2/viewer/main.py
index e25d59c5ad..963b16dde5 100644
--- a/src/calibre/gui2/viewer/main.py
+++ b/src/calibre/gui2/viewer/main.py
@@ -175,6 +175,7 @@ class EbookViewer(MainWindow, Ui_EbookViewer):
def __init__(self, pathtoebook=None, debug_javascript=False):
MainWindow.__init__(self, None)
self.setupUi(self)
+ self.view.magnification_changed.connect(self.magnification_changed)
self.show_toc_on_open = False
self.current_book_has_toc = False
self.base_window_title = unicode(self.windowTitle())
@@ -345,6 +346,7 @@ def save_state(self):
if self.toc.isVisible():
vprefs.set('viewer_splitter_state',
bytearray(self.splitter.saveState()))
+ vprefs['multiplier'] = self.view.multiplier
def restore_state(self):
state = vprefs.get('viewer_toolbar_state', None)
@@ -354,6 +356,9 @@ def restore_state(self):
self.restoreState(state, self.STATE_VERSION)
except:
pass
+ mult = vprefs.get('multiplier', None)
+ if mult:
+ self.view.multiplier = mult
def lookup(self, word):
@@ -476,16 +481,22 @@ def open_recent(self, action):
def font_size_larger(self, checked):
frac = self.view.magnify_fonts()
- self.action_font_size_larger.setEnabled(self.view.multiplier() < 3)
- self.action_font_size_smaller.setEnabled(self.view.multiplier() > 0.2)
+ self.action_font_size_larger.setEnabled(self.view.multiplier < 3)
+ self.action_font_size_smaller.setEnabled(self.view.multiplier > 0.2)
self.set_page_number(frac)
def font_size_smaller(self, checked):
frac = self.view.shrink_fonts()
- self.action_font_size_larger.setEnabled(self.view.multiplier() < 3)
- self.action_font_size_smaller.setEnabled(self.view.multiplier() > 0.2)
+ self.action_font_size_larger.setEnabled(self.view.multiplier < 3)
+ self.action_font_size_smaller.setEnabled(self.view.multiplier > 0.2)
self.set_page_number(frac)
+ def magnification_changed(self, val):
+ tt = _('Make font size %s\nCurrent magnification: %.1f')
+ self.action_font_size_larger.setToolTip(
+ tt %(_('larger'), val))
+ self.action_font_size_smaller.setToolTip(
+ tt %(_('smaller'), val))
def find(self, text, repeat=False, backwards=False):
if not text:
diff --git a/src/calibre/manual/faq.rst b/src/calibre/manual/faq.rst
index 29c71c017a..274bf03eb3 100644
--- a/src/calibre/manual/faq.rst
+++ b/src/calibre/manual/faq.rst
@@ -319,7 +319,7 @@ but it requires that the Kindle be rebooted *every time* it is disconnected from
changes to the collections to be recognized. As such, it is unlikely that
any |app| developers will ever feel motivated enough to support it. There is however, a |app| plugin
that allows you to create collections on your Kindle from the |app| metadata. It is available
-`here `_.
+`from here `_.
Library Management
------------------
@@ -570,7 +570,7 @@ For many reasons:
* *There is no need to update every week*. If you are happy with how |app| works turn off the update notification and be on your merry way. Check back to see if you want to update once a year or so.
* Pre downloading the updates for all users in the background would mean require about 80TB of bandwidth *every week*. That costs thousands of dollars a month. And |app| is currently growing at 300,000 new users every month.
* If I implement a dialog that downloads the update and launches it, instead of going to the website as it does now, that would save the most ardent |app| updater, *at most five clicks a week*. There are far higher priority things to do in |app| development.
- * If you really, really hate downloading |app| every week but still want to be upto the latest, I encourage you to run from source, which makes updating trivial. Instructions are :ref:`here `.
+ * If you really, really hate downloading |app| every week but still want to be up to the latest, I encourage you to run from source, which makes updating trivial. Instructions are :ref:`available here `.
How is |app| licensed?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py
index b987658d72..533e1bd1d1 100644
--- a/src/calibre/test_build.py
+++ b/src/calibre/test_build.py
@@ -99,12 +99,12 @@ def test():
test_lxml()
test_fontconfig()
test_sqlite()
- if iswindows:
- test_winutil()
- test_win32()
test_qt()
test_imaging()
test_unrar()
+ if iswindows:
+ test_win32()
+ test_winutil()
if __name__ == '__main__':
test()
diff --git a/src/calibre/translations/af.po b/src/calibre/translations/af.po
index f60eaa41ba..fdfd6faad7 100644
--- a/src/calibre/translations/af.po
+++ b/src/calibre/translations/af.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2009-11-06 19:11+0000\n"
"Last-Translator: Kovid Goyal \n"
"Language-Team: Afrikaans \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:37+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:33+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Doen absolute niks"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Doen absolute niks"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Doen absolute niks"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -749,13 +749,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -822,14 +822,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -847,7 +847,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -856,22 +856,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1225,11 +1225,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2649,33 +2649,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2684,35 +2684,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2720,34 +2720,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2901,7 +2901,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3079,7 +3079,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4254,59 +4254,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4430,8 +4432,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4460,7 +4462,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4531,11 +4533,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5148,7 +5150,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5260,7 +5262,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7530,19 +7532,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7584,8 +7586,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7617,7 +7619,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7760,14 +7762,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8820,7 +8822,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8994,110 +8996,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9517,7 +9475,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9526,7 +9484,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9554,7 +9512,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9655,7 +9613,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9664,7 +9622,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9710,45 +9668,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10292,7 +10250,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10414,15 +10372,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10430,27 +10388,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10458,35 +10416,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10692,6 +10650,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11171,186 +11342,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11359,26 +11481,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11388,38 +11510,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11482,11 +11580,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12182,7 +12280,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12250,31 +12348,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13062,7 +13162,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15040,19 +15140,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15590,49 +15690,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15642,37 +15742,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15682,7 +15782,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15692,24 +15792,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15718,11 +15818,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15730,7 +15830,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15739,20 +15839,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15766,7 +15877,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15774,7 +15885,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15783,19 +15894,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15803,95 +15914,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16408,11 +16517,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16430,11 +16539,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16453,11 +16562,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16485,11 +16612,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16500,11 +16627,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16525,11 +16652,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16549,11 +16676,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16570,11 +16697,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16588,11 +16715,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16605,11 +16732,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16680,11 +16807,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16711,26 +16838,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16749,11 +16876,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16765,11 +16892,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16777,11 +16904,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16791,11 +16918,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16809,11 +16936,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16821,11 +16948,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16834,33 +16961,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16870,11 +16997,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16885,11 +17012,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po
index d95e211244..3cc745e12b 100644
--- a/src/calibre/translations/ar.po
+++ b/src/calibre/translations/ar.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-17 23:15+0000\n"
"Last-Translator: AhmadAboBakr \n"
"Language-Team: Arabic \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:38+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:33+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:121
@@ -100,10 +100,10 @@ msgstr "لا يفعل شيءً"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -128,7 +128,7 @@ msgstr "لا يفعل شيءً"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -198,32 +198,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -820,13 +820,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr "التواصل مع هواتف أندرويد ."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "تواصل معا هواتف S60."
@@ -893,14 +893,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d من %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "تم"
@@ -918,7 +918,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -927,22 +927,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "الأخبار"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "الفهرس"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "تواصل معا iTunes"
@@ -1296,11 +1296,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2740,33 +2740,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2775,35 +2775,35 @@ msgstr ""
msgid "Title"
msgstr "العنوان"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "الناشر"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "المنتج"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "التعليقات"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2811,34 +2811,34 @@ msgstr "التعليقات"
msgid "Tags"
msgstr "الوسوم"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "السلسلة"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "اللغة"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "ختم التوقيت"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2992,7 +2992,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3170,7 +3170,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4345,59 +4345,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4521,8 +4523,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4551,7 +4553,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4622,11 +4624,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5239,7 +5241,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5351,7 +5353,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7623,19 +7625,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7677,8 +7679,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7710,7 +7712,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7853,14 +7855,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8913,7 +8915,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9091,110 +9093,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9614,7 +9572,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9623,7 +9581,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9651,7 +9609,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9752,7 +9710,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9761,7 +9719,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9807,45 +9765,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10389,7 +10347,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10511,15 +10469,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10527,27 +10485,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10555,35 +10513,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10789,6 +10747,219 @@ msgstr "استخدم المستعرض& الداخلي في:"
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11268,186 +11439,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "صغير"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "كبير"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "متوسط"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "إختر ال&لغة (يحتاج إعادة تشغيل):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11456,26 +11578,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11485,38 +11607,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11579,11 +11677,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12279,7 +12377,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12347,31 +12445,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13159,7 +13259,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15100,19 +15200,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15650,49 +15750,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15702,37 +15802,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15742,7 +15842,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15752,24 +15852,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15778,11 +15878,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15790,7 +15890,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15799,20 +15899,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15826,7 +15937,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15834,7 +15945,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15843,19 +15954,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15863,95 +15974,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16468,11 +16577,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16490,11 +16599,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16513,11 +16622,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16545,11 +16672,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16560,11 +16687,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16585,11 +16712,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16609,11 +16736,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16630,11 +16757,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16648,11 +16775,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16665,11 +16792,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16740,11 +16867,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16771,26 +16898,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16809,11 +16936,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16825,11 +16952,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16837,11 +16964,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16851,11 +16978,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16869,11 +16996,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16881,11 +17008,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16894,33 +17021,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16930,11 +17057,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16945,11 +17072,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/ast.po b/src/calibre/translations/ast.po
index 503fb6cd43..2aec0d783b 100644
--- a/src/calibre/translations/ast.po
+++ b/src/calibre/translations/ast.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2010-01-31 21:37+0000\n"
"Last-Translator: Kovid Goyal \n"
"Language-Team: Asturian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:38+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:34+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -749,13 +749,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -822,14 +822,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -847,7 +847,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -856,22 +856,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1225,11 +1225,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2649,33 +2649,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2684,35 +2684,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2720,34 +2720,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2901,7 +2901,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3079,7 +3079,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4254,59 +4254,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4430,8 +4432,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4460,7 +4462,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4531,11 +4533,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5148,7 +5150,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5260,7 +5262,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7530,19 +7532,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7584,8 +7586,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7617,7 +7619,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7760,14 +7762,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8820,7 +8822,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8994,110 +8996,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9517,7 +9475,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9526,7 +9484,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9554,7 +9512,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9655,7 +9613,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9664,7 +9622,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9710,45 +9668,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10292,7 +10250,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10414,15 +10372,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10430,27 +10388,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10458,35 +10416,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10692,6 +10650,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11171,186 +11342,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11359,26 +11481,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11388,38 +11510,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11482,11 +11580,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12182,7 +12280,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12250,31 +12348,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13062,7 +13162,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15040,19 +15140,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15590,49 +15690,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15642,37 +15742,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15682,7 +15782,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15692,24 +15792,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15718,11 +15818,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15730,7 +15830,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15739,20 +15839,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15766,7 +15877,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15774,7 +15885,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15783,19 +15894,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15803,95 +15914,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16408,11 +16517,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16430,11 +16539,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16453,11 +16562,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16485,11 +16612,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16500,11 +16627,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16525,11 +16652,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16549,11 +16676,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16570,11 +16697,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16588,11 +16715,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16605,11 +16732,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16680,11 +16807,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16711,26 +16838,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16749,11 +16876,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16765,11 +16892,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16777,11 +16904,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16791,11 +16918,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16809,11 +16936,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16821,11 +16948,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16834,33 +16961,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16870,11 +16997,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16885,11 +17012,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/az.po b/src/calibre/translations/az.po
new file mode 100644
index 0000000000..c9acf599b0
--- /dev/null
+++ b/src/calibre/translations/az.po
@@ -0,0 +1,17024 @@
+# Azerbaijani translation for calibre
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the calibre package.
+# FIRST AUTHOR , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: calibre\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
+"PO-Revision-Date: 2011-06-03 05:54+0000\n"
+"Last-Translator: Farid Zarbaliyev \n"
+"Language-Team: Azerbaijani \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:34+0000\n"
+"X-Generator: Launchpad (build 12959)\n"
+
+#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
+msgid "Does absolutely nothing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59
+#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:87
+#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:88
+#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
+#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:77
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:488
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
+#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
+#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
+#: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:435
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:127
+#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
+#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
+#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
+#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1894
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1896
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:55
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:64
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:66
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:124
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:126
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1066
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1176
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:41
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:23
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:49
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:88
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:91
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:48
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:305
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:406
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:43
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:69
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:82
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:125
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:159
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:714
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:961
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:963
+#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:99
+#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:101
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1001
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1006
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1072
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:151
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:65
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:112
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:119
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:173
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:174
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:82
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:83
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:73
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:74
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:63
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:64
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:52
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:65
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:66
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:63
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:64
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:62
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:63
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:81
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:101
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:102
+#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:313
+#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:348
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:364
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:367
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:160
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:519
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1120
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1123
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:56
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:68
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47
+#: /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:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
+#: /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:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
+#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
+#: /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:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
+#: /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
+#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134
+#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46
+#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:64
+#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:78
+#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:46
+#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:54
+msgid "Unknown"
+msgstr "Naməlum"
+
+#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:77
+msgid "Base"
+msgstr "Əsas"
+
+#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148
+msgid "Customize"
+msgstr "Fərdiləşdir"
+
+#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:43
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:48
+msgid "Cannot configure"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:318
+msgid "File type"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:354
+msgid "Metadata reader"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:384
+msgid "Metadata writer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:414
+msgid "Catalog generator"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:523
+msgid "User Interface Action"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:557
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:18
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:287
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:206
+msgid "Preferences"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:609
+#: /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 ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:54
+msgid ""
+"Character encoding for the input HTML files. Common choices include: cp1252, "
+"latin1, iso-8859-1 and utf-8."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:61
+msgid ""
+"Create a PMLZ archive containing the PML file and all images in the "
+"directory pmlname_img or images. This plugin is run every time you add a PML "
+"file to the library."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:91
+msgid ""
+"Create a TXTZ archive when a TXT file is imported containing Markdown or "
+"Textile references to images. The referenced images as well as the TXT file "
+"are added to the archive."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:168
+msgid "Extract cover from comic files"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:205
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:216
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:228
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:238
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:248
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:259
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:270
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:280
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:290
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:300
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:310
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:320
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:330
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:341
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:353
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:374
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:385
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:395
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:406
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:416
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:427
+msgid "Read metadata from %s files"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:364
+msgid "Read metadata from ebooks in RAR archives"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:438
+msgid "Read metadata from ebooks in ZIP archives"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:451
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:472
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:482
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:504
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:515
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:525
+msgid "Set metadata in %s files"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:461
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:493
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:536
+msgid "Set metadata from %s files"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883
+msgid "Look and Feel"
+msgstr ""
+
+#: /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: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:895
+msgid "Behavior"
+msgstr ""
+
+#: /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:906
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:221
+msgid "Add your own columns"
+msgstr ""
+
+#: /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:917
+msgid "Toolbar"
+msgstr ""
+
+#: /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:929
+msgid "Searching"
+msgstr ""
+
+#: /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:940
+msgid "Input Options"
+msgstr ""
+
+#: /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:946
+msgid "Set conversion options specific to each input format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:951
+msgid "Common Options"
+msgstr ""
+
+#: /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:962
+msgid "Output Options"
+msgstr ""
+
+#: /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:973
+msgid "Adding books"
+msgstr ""
+
+#: /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:979
+msgid "Control how calibre reads metadata from files when adding books"
+msgstr ""
+
+#: /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: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:997
+msgid "Sending books to devices"
+msgstr ""
+
+#: /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:1009
+msgid "Metadata plugboards"
+msgstr ""
+
+#: /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:1020
+msgid "Template Functions"
+msgstr ""
+
+#: /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:1026
+msgid "Create your own template functions"
+msgstr ""
+
+#: /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: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: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:1043
+msgid "Sharing over the net"
+msgstr ""
+
+#: /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:1056
+msgid "Metadata download"
+msgstr ""
+
+#: /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:1067
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:273
+msgid "Plugins"
+msgstr ""
+
+#: /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:1079
+msgid "Tweaks"
+msgstr ""
+
+#: /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:1090
+msgid "Miscellaneous"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096
+msgid "Miscellaneous advanced configuration"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:102
+msgid "Conversion Input"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:134
+msgid ""
+"Specify the character encoding of the input document. If set this option "
+"will override any encoding declared by the document itself. Particularly "
+"useful for documents that do not declare an encoding or that have erroneous "
+"encoding declarations."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:234
+msgid "Conversion Output"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:248
+msgid ""
+"If specified, the output plugin will try to create output that is as human "
+"readable as possible. May not have any effect for some output plugins."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:49
+msgid "Input profile"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:53
+msgid ""
+"This profile tries to provide sane defaults and is useful if you know "
+"nothing about the input document."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:61
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:454
+msgid ""
+"This profile is intended for the SONY PRS line. The 500/505/600/700 etc."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:73
+msgid "This profile is intended for the SONY PRS 300."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:82
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:494
+msgid "This profile is intended for the SONY PRS-900."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:90
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:539
+msgid "This profile is intended for the Microsoft Reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:101
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:550
+msgid "This profile is intended for the Mobipocket books."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:114
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:563
+msgid "This profile is intended for the Hanlin V3 and its clones."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:126
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:575
+msgid "This profile is intended for the Hanlin V5 and its clones."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:136
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:583
+msgid "This profile is intended for the Cybook G3."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:149
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:597
+msgid "This profile is intended for the Cybook Opus."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:161
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:610
+msgid "This profile is intended for the Amazon Kindle."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:173
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:660
+msgid "This profile is intended for the Irex Illiad."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:185
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:673
+msgid "This profile is intended for the IRex Digital Reader 1000."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:198
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:687
+msgid "This profile is intended for the IRex Digital Reader 800."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:210
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:701
+msgid "This profile is intended for the B&N Nook."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:232
+msgid "Output profile"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:236
+msgid ""
+"This profile tries to provide sane defaults and is useful if you want to "
+"produce a document intended to be read at a computer or on a range of "
+"devices."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:278
+msgid ""
+"Intended for the iPad and similar devices with a resolution of 768x1024"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:438
+msgid "Intended for generic tablet devices, does no resizing of images"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:446
+msgid ""
+"Intended for the Samsung Galaxy and similar tablet devices with a resolution "
+"of 600x1280"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:472
+msgid "This profile is intended for the Kobo Reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:485
+msgid "This profile is intended for the SONY PRS-300."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:503
+msgid "Suitable for use with any e-ink device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:510
+msgid "Suitable for use with any large screen e-ink device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:519
+msgid "This profile is intended for the 5-inch JetBook."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:528
+msgid ""
+"This profile is intended for the SONY PRS line. The 500/505/700 etc, in "
+"landscape mode. Mainly useful for comics."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:636
+msgid "This profile is intended for the Amazon Kindle DX."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:713
+msgid "This profile is intended for the B&N Nook Color."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:724
+msgid "This profile is intended for the Sanda Bambook."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31
+msgid "Installed plugins"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/ui.py:32
+msgid "Mapping for filetype plugins"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/ui.py:33
+msgid "Local plugin customization"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/ui.py:34
+msgid "Disabled plugins"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/customize/ui.py:35
+msgid "Enabled plugins"
+msgstr ""
+
+#: /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:525
+msgid ""
+" %prog options\n"
+"\n"
+" Customize calibre by loading external plugins.\n"
+" "
+msgstr ""
+
+#: /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:533
+msgid "Remove a custom plugin by name. Has no effect on builtin plugins"
+msgstr ""
+
+#: /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:537
+msgid "List all installed plugins"
+msgstr ""
+
+#: /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:541
+msgid "Disable the named plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/debug.py:152
+msgid "Debug log"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:13
+msgid "Communicate with Android phones."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
+msgid ""
+"Comma separated list of directories to send e-books to on the device. The "
+"first one that exists will be used"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
+msgid "Communicate with S60 phones."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:47
+msgid ""
+"
If you do not want calibre to recognize your Apple iDevice when it is "
+"connected to your computer, click Disable Apple Driver.
To "
+"transfer books to your iDevice, click Disable Apple Driver, then use "
+"the 'Connect to iTunes' method recommended in the Calibre + "
+"iDevices FAQ, using the Connect/Share|Connect to "
+"iTunes menu item.
Enabling the Apple driver for direct connection "
+"to iDevices is an unsupported advanced user mode.
"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:65
+msgid "Disable Apple driver"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:69
+msgid "Enable Apple driver"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:117
+msgid "Use Series as Category in iTunes/iBooks"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:118
+msgid "Enable to use the series name as the iTunes Genre, iBooks Category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:120
+msgid "Cache covers from iTunes/iBooks"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:122
+msgid "Enable to cache and display covers from iTunes/iBooks"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:178
+msgid "Apple device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:180
+msgid "Communicate with iTunes/iBooks."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:192
+msgid "Apple device detected, launching iTunes, please wait ..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:194
+msgid ""
+"Cannot copy books directly from iDevice. Drag from iTunes Library to "
+"desktop, then add to calibre's Library window."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:357
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:360
+msgid "Updating device metadata listing..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:436
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
+msgid "%d of %d"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
+msgid "finished"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:667
+msgid ""
+"Some books not found in iTunes database.\n"
+"Delete using the iBooks app.\n"
+"Click 'Show Details' for a list."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1018
+msgid ""
+"Some cover art could not be converted.\n"
+"Click 'Show Details' for a list."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:909
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:915
+#: /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:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
+msgid "News"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
+#: /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:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
+msgid "Catalog"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
+msgid "Communicate with iTunes."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:24
+msgid "Communicate with the Sanda Bambook eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:25
+msgid "Li Fanxi"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:42
+msgid "Device IP Address (restart calibre after changing)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:47
+msgid ""
+"Unable to add book to library directly from Bambook. Please save the book to "
+"disk and add the file to library from disk."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:67
+msgid ""
+"Unable to connect to Bambook, you need to install Bambook library first."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:75
+msgid ""
+"Unable to connect to Bambook. \n"
+"If you are trying to connect via Wi-Fi, please make sure the IP address of "
+"Bambook has been correctly configured."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:112
+msgid "Bambook"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:67
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:70
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:73
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:232
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:122
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:125
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:128
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:196
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:203
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:226
+msgid "Getting list of books on device..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:264
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:268
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:279
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:255
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:257
+msgid "Transferring books to device..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:285
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:299
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:349
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:384
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:279
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:310
+msgid "Adding books to device metadata listing..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:307
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:309
+#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:102
+#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:113
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:301
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:333
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:316
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
+msgid "Removing books from device..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:324
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:329
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:337
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:344
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:341
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:346
+msgid "Removing books from device metadata listing..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:397
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:376
+msgid "Sending metadata to device..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/bambook/libbambookcore.py:129
+msgid "Bambook SDK has not been installed."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/binatone/driver.py:17
+msgid "Communicate with the Binatone Readme eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:13
+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: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"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/boeye/driver.py:14
+msgid "Communicate with BOEYE BEX Serial eBook readers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/boeye/driver.py:35
+msgid "Communicate with BOEYE BDX serial eBook readers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:22
+msgid "Communicate with the Cybook Gen 3 / Opus eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64
+msgid "Communicate with the Cybook Orizon eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:25
+msgid "Communicate with the EB600 eBook reader."
+msgstr ""
+
+#: /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:215
+msgid "Communicate with the PocketBook 301 reader."
+msgstr ""
+
+#: /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:252
+msgid "Communicate with the PocketBook 701"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/edge/driver.py:17
+msgid "Entourage Edge"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/edge/driver.py:18
+msgid "Communicate with the Entourage Edge."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:16
+msgid "Communicate with the ESlick eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:49
+msgid "Communicate with the Sigmatek eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:16
+#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:32
+msgid "Use an arbitrary folder as a device."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:28
+#: /home/kovid/work/calibre/src/calibre/devices/interface.py:14
+msgid "Device Interface"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:19
+msgid "Communicate with Hanlin V3 eBook readers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:96
+msgid "Communicate with Hanlin V5 eBook readers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:114
+msgid "Communicate with the BOOX eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:132
+msgid ""
+"Comma separated list of directories to send e-books to on the device. The "
+"first one that exists will be used."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:22
+msgid "Communicate with the Hanvon N520 eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:47
+msgid "Communicate with The Book reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:59
+msgid "Communicate with the SpringDesign Alex eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:119
+msgid "Communicate with the Azbooka"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:138
+msgid "Communicate with the Elonex EB 511 eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:16
+msgid "Communicate with the IRex Iliad eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:17
+#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:18
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:43
+msgid "John Schember"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/interface.py:54
+msgid "Cannot get files from this device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:16
+msgid "Communicate with the IRex Digital Reader 1000 eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:42
+msgid "Communicate with the IRex Digital Reader 800"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:15
+msgid "Communicate with the Iriver Story reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:20
+msgid "Communicate with the JetBook eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:88
+msgid "Communicate with the MiBuk Wolder reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:116
+msgid "Communicate with the JetBook Mini reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/kindle/apnx.py:28
+msgid "Not a valid MOBI file. Reports identity of %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/kindle/apnx.py:44
+msgid "Could not generate page mapping."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:44
+msgid "Communicate with the Kindle eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:171
+msgid "Communicate with the Kindle 2/3 eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:180
+msgid "Send page number information when sending books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:182
+msgid ""
+"The Kindle 3 and newer versions can use page number information in MOBI "
+"files. With this option, calibre will calculate and send this information to "
+"the Kindle when uploading MOBI files by USB. Note that the page numbers do "
+"not correspond to any paper book."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:187
+msgid "Use slower but more accurate page number generation"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:189
+msgid ""
+"There are two ways to generate the page number information. Using the more "
+"accurate generator will produce pages that correspond better to a printed "
+"book. However, this method is slower and will slow down sending files to the "
+"Kindle."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:257
+msgid "Communicate with the Kindle DX eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:23
+msgid "Communicate with the Kobo Reader"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:51
+msgid ""
+"The Kobo supports only one collection currently: the \"Im_Reading\" list. "
+"Create a tag called \"Im_Reading\" "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:468
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:388
+msgid "Not Implemented"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:469
+msgid ""
+"\".kobo\" files do not exist on the device as books instead, they are rows "
+"in the sqlite database. Currently they cannot be exported or viewed."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:19
+msgid "Communicate with the Palm Pre"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:39
+msgid "Communicate with the Bq Avant"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:60
+msgid "Communicate with the Sweex/Kogan/Q600/Wink"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108
+msgid "Communicate with the Pandigital Novel"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127
+msgid "Communicate with the VelocityMicro"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145
+msgid "Communicate with the GM2000"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165
+msgid "Communicate with the Acer Lumiread"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199
+msgid "Communicate with the Aluratek Color"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219
+msgid "Communicate with the Trekstor"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
+msgid "Communicate with the EEE Reader"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
+msgid "Communicate with the Nextbook Reader"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:17
+msgid "Communicate with the Nokia 770 internet tablet."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:40
+msgid "Communicate with the Nokia 810/900 internet tablet."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:74
+msgid "Communicate with the Nokia E52"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:20
+msgid "The Nook"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:21
+msgid "Communicate with the Nook eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+msgid "Nook Color"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
+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 ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:89
+msgid "Communicate with the Sony PRS-500 eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:22
+msgid "Communicate with all the Sony eBook readers."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:62
+msgid "All by title"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:63
+msgid "All by author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:66
+msgid ""
+"Comma separated list of metadata fields to turn into collections on the "
+"device. Possibilities include: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:69
+msgid ""
+". Two special collections are available: %s:%s and %s:%s. Add these values "
+"to the list to enable them. The collections will be given the name provided "
+"after the \":\" character."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:73
+msgid "Upload separate cover thumbnails for books (newer readers)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:74
+msgid ""
+"Normally, the SONY readers get the cover image from the ebook file itself. "
+"With this option, calibre will send a separate cover image to the reader, "
+"useful if you are sending DRMed books in which you cannot change the cover. "
+"WARNING: This option should only be used with newer SONY readers: 350, 650, "
+"950 and newer."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:80
+msgid ""
+"Refresh separate covers when using automatic management (newer readers)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:82
+msgid ""
+"Set this option to have separate book covers uploaded every time you connect "
+"your device. Unset this option if you have so many books on the reader that "
+"performance is unacceptable."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:86
+msgid "Preserve cover aspect ratio when building thumbnails"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:88
+msgid ""
+"Set this option if you want the cover thumbnails to have the same aspect "
+"ratio (width to height) as the cover. Unset it if you want the thumbnail to "
+"be the maximum size, ignoring aspect ratio."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:92
+msgid "Search for books in all folders"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:94
+msgid ""
+"Setting this option tells calibre to look for books in all folders on the "
+"device and its cards. This permits calibre to find books put on the device "
+"by other software and by wireless download."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:190
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:69
+msgid "Unnamed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/sne/driver.py:17
+msgid "Communicate with the Samsung SNE eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:11
+msgid "Communicate with the Teclast K3/K5 reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:36
+msgid "Communicate with the Newsmy reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:47
+msgid "Communicate with the Archos reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:57
+msgid "Communicate with the Pico reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:67
+msgid "Communicate with the iPapyrus reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:78
+msgid "Communicate with the Sovos reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:88
+msgid "Communicate with the Sunstech EB700 reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:99
+msgid "Communicate with the Stash W950 reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:111
+msgid "Communicate with the Wexler reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:282
+msgid "Unable to detect the %s disk drive. Try rebooting."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:463
+msgid "Unable to detect the %s mount point. Try rebooting."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:528
+msgid "Unable to detect the %s disk drive."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:621
+msgid "Could not find mount helper: %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:633
+msgid ""
+"Unable to detect the %s disk drive. Either the device has already been "
+"ejected, or your kernel is exporting a deprecated version of SYSFS."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:642
+msgid "Unable to mount main memory (Error code: %d)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:693
+msgid ""
+"The main memory of %s is read only. This usually happens because of file "
+"system errors."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:842
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:844
+msgid "The reader has no storage card in this slot."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:846
+msgid "Selected slot: %s is not supported."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:875
+msgid "There is insufficient free space in main memory"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:877
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:879
+msgid "There is insufficient free space on the storage card"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:12
+msgid "Configure Device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:55
+msgid "settings for device drivers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:57
+msgid "Ordered list of formats the device will accept"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:59
+msgid "Place files in sub directories if the device supports them"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:81
+msgid "Read metadata from files on device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:63
+msgid "Use author sort instead of author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:65
+msgid "Template to control how books are saved"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:68
+msgid "Extra customization"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:42
+msgid "Communicate with an eBook reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:94
+msgid "Get device information..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:37
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:68
+msgid "USB Vendor ID (in hex)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:38
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:41
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:44
+msgid ""
+"Get this ID using Preferences -> Misc -> Get information to set up the user-"
+"defined device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:70
+msgid "USB Product ID (in hex)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:43
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:72
+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 ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:48
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:52
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:56
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:60
+msgid ""
+"This field is used only on windows. Get this ID using Preferences -> Misc -> "
+"Get information to set up the user-defined device"
+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:81
+msgid "Windows main memory ID string"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:84
+msgid "Windows card A vendor string"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:86
+msgid "Windows card A ID string"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:63
+msgid "Main memory folder"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:64
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:67
+msgid ""
+"Enter the folder where the books are to be stored. This folder is prepended "
+"to any send_to_device template"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:66
+msgid "Card A folder"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:202
+msgid "Rendered %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:205
+msgid "Failed %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:259
+msgid ""
+"Failed to process comic: \n"
+"\n"
+"%s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278
+msgid ""
+"Number of colors for grayscale image conversion. Default: %default. Values "
+"of less than 256 may result in blurred text on your device if you are "
+"creating your comics in EPUB format."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:282
+msgid ""
+"Disable normalize (improve contrast) color range for pictures. Default: False"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285
+msgid "Maintain picture aspect ratio. Default is to fill the screen."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:287
+msgid "Disable sharpening."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:289
+msgid ""
+"Disable trimming of comic pages. For some comics, trimming might remove "
+"content as well as borders."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:292
+msgid "Don't split landscape images into two portrait images"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:294
+msgid ""
+"Keep aspect ratio and scale image using screen height as image width for "
+"viewing in landscape mode."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297
+msgid ""
+"Used for right-to-left publications like manga. Causes landscape pages to be "
+"split into portrait pages from right to left."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:301
+msgid ""
+"Enable Despeckle. Reduces speckle noise. May greatly increase processing "
+"time."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304
+msgid ""
+"Don't sort the files found in the comic alphabetically by name. Instead use "
+"the order they were added to the comic."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308
+msgid ""
+"The format that images in the created ebook are converted to. You can "
+"experiment to see which format gives you optimal size and look on your "
+"device."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:312
+msgid "Apply no processing to the image"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:314
+msgid "Do not convert the image to grayscale (black and white)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:316
+msgid ""
+"Specify the image size as widthxheight pixels. Normally, an image size is "
+"automatically calculated from the output profile, this option overrides it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:320
+msgid ""
+"When converting a CBC do not add links to each page to the TOC. Note this "
+"only applies if the TOC has more than one section"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:459
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:471
+msgid "Page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:19
+msgid ""
+"input_file output_file [options]\n"
+"\n"
+"Convert an ebook from one format to another.\n"
+"\n"
+"input_file is the input and output_file is the output. Both must be "
+"specified as the first two arguments to the command.\n"
+"\n"
+"The output ebook format is guessed from the file extension of output_file. "
+"output_file can also be of the special format .EXT where EXT is the output "
+"file extension. In this case, the name of the output file is derived the "
+"name of the input file. Note that the filenames must not start with a "
+"hyphen. Finally, if output_file has no extension, then it is treated as a "
+"directory and an \"open ebook\" (OEB) consisting of HTML files is written to "
+"that directory. These files are the files that would normally have been "
+"passed to the output plugin.\n"
+"\n"
+"After specifying the input and output file you can customize the conversion "
+"by specifying various options. The available options depend on the input and "
+"output file types. To get help on them specify the input and output file and "
+"then use the -h option.\n"
+"\n"
+"For full documentation of the conversion system see\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:109
+msgid "INPUT OPTIONS"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:110
+msgid "Options to control the processing of the input %s file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:116
+msgid "OUTPUT OPTIONS"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:117
+msgid "Options to control the processing of the output %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:131
+msgid "Options to control the look and feel of the output"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:146
+msgid ""
+"Modify the document text and structure using common patterns. Disabled by "
+"default. Use %s to enable. Individual actions can be disabled with the %s "
+"options."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:154
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:18
+msgid "Modify the document text and structure using user defined patterns."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:163
+msgid "Control auto-detection of document structure."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:173
+msgid ""
+"Control the automatic generation of a Table of Contents. By default, if the "
+"source file has a Table of Contents, it will be used in preference to the "
+"automatically generated one."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:183
+msgid "Options to set metadata in the output"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:186
+msgid "Options to help with debugging the conversion"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:212
+msgid "List builtin recipes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:285
+msgid "Output saved to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:103
+msgid "Level of verbosity. Specify multiple times for greater verbosity."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:110
+msgid ""
+"Save the output from different stages of the conversion pipeline to the "
+"specified directory. Useful if you are unsure at which stage of the "
+"conversion process a bug is occurring."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:119
+msgid ""
+"Specify the input profile. The input profile gives the conversion system "
+"information on how to interpret various information in the input document. "
+"For example resolution dependent lengths (i.e. lengths in pixels). Choices "
+"are:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:130
+msgid ""
+"Specify the output profile. The output profile tells the conversion system "
+"how to optimize the created document for the specified device. In some "
+"cases, an output profile is required to produce documents that will work on "
+"a device. For example EPUB on the SONY reader. Choices are:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:141
+msgid ""
+"The base font size in pts. All font sizes in the produced book will be "
+"rescaled based on this size. By choosing a larger size you can make the "
+"fonts in the output bigger and vice versa. By default, the base font size is "
+"chosen based on the output profile you chose."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:151
+msgid ""
+"Mapping from CSS font names to font sizes in pts. An example setting is "
+"12,12,14,16,18,20,22,24. These are the mappings for the sizes xx-small to xx-"
+"large, with the final size being for huge fonts. The font rescaling "
+"algorithm uses these sizes to intelligently rescale fonts. The default is to "
+"use a mapping based on the output profile you chose."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:163
+msgid "Disable all rescaling of font sizes."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:169
+msgid ""
+"The minimum line height, as a percentage of the element's calculated font "
+"size. calibre will ensure that every element has a line height of at least "
+"this setting, irrespective of what the input document specifies. Set to zero "
+"to disable. Default is 120%. Use this setting in preference to the direct "
+"line height specification, unless you know what you are doing. For example, "
+"you can achieve \"double spaced\" text by setting this to 240."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:184
+msgid ""
+"The line height in pts. Controls spacing between consecutive lines of text. "
+"Only applies to elements that do not define their own line height. In most "
+"cases, the minimum line height option is more useful. By default no line "
+"height manipulation is performed."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:195
+msgid ""
+"Some badly designed documents use tables to control the layout of text on "
+"the page. When converted these documents often have text that runs off the "
+"page and other artifacts. This option will extract the content from the "
+"tables and present it in a linear fashion."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:205
+msgid ""
+"XPath expression that specifies all tags that should be added to the Table "
+"of Contents at level one. If this is specified, it takes precedence over "
+"other forms of auto-detection."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:214
+msgid ""
+"XPath expression that specifies all tags that should be added to the Table "
+"of Contents at level two. Each entry is added under the previous level one "
+"entry."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:222
+msgid ""
+"XPath expression that specifies all tags that should be added to the Table "
+"of Contents at level three. Each entry is added under the previous level two "
+"entry."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:230
+msgid ""
+"Normally, if the source file already has a Table of Contents, it is used in "
+"preference to the auto-generated one. With this option, the auto-generated "
+"one is always used."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:238
+msgid "Don't add auto-detected chapters to the Table of Contents."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:245
+msgid ""
+"If fewer than this number of chapters is detected, then links are added to "
+"the Table of Contents. Default: %default"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:252
+msgid ""
+"Maximum number of links to insert into the TOC. Set to 0 to disable. Default "
+"is: %default. Links are only added to the TOC if less than the threshold "
+"number of chapters were detected."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:260
+msgid ""
+"Remove entries from the Table of Contents whose titles match the specified "
+"regular expression. Matching entries and all their children are removed."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:271
+msgid ""
+"An XPath expression to detect chapter titles. The default is to consider "
+"
or
tags that contain the words \"chapter\",\"book\",\"section\" or "
+"\"part\" as chapter titles as well as any tags that have class=\"chapter\". "
+"The expression used must evaluate to a list of elements. To disable chapter "
+"detection, use the expression \"/\". See the XPath Tutorial in the calibre "
+"User Manual for further help on using this feature."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:285
+msgid ""
+"Specify how to mark detected chapters. A value of \"pagebreak\" will insert "
+"page breaks before chapters. A value of \"rule\" will insert a line before "
+"chapters. A value of \"none\" will disable chapter marking and a value of "
+"\"both\" will use both page breaks and lines to mark chapters."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:295
+msgid ""
+"Either the path to a CSS stylesheet or raw CSS. This CSS will be appended to "
+"the style rules from the source file, so it can be used to override those "
+"rules."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:304
+msgid ""
+"An XPath expression. Page breaks are inserted before the specified elements."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:310
+msgid ""
+"Some documents specify page margins by specifying a left and right margin on "
+"each individual paragraph. calibre will try to detect and remove these "
+"margins. Sometimes, this can cause the removal of margins that should not "
+"have been removed. In this case you can disable the removal."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:321
+msgid ""
+"Set the top margin in pts. Default is %default. Note: 72 pts equals 1 inch"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:326
+msgid ""
+"Set the bottom margin in pts. Default is %default. Note: 72 pts equals 1 inch"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:331
+msgid ""
+"Set the left margin in pts. Default is %default. Note: 72 pts equals 1 inch"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:336
+msgid ""
+"Set the right margin in pts. Default is %default. Note: 72 pts equals 1 inch"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:342
+msgid ""
+"Change text justification. A value of \"left\" converts all justified text "
+"in the source to left aligned (i.e. unjustified) text. A value of "
+"\"justify\" converts all unjustified text to justified. A value of "
+"\"original\" (the default) does not change justification in the source file. "
+"Note that only some output formats support justification."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:352
+msgid ""
+"Remove spacing between paragraphs. Also sets an indent on paragraphs of "
+"1.5em. Spacing removal will not work if the source file does not use "
+"paragraphs (
or
tags)."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:359
+msgid ""
+"When calibre removes inter paragraph spacing, it automatically sets a "
+"paragraph indent, to ensure that paragraphs can be easily distinguished. "
+"This option controls the width of that indent."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:366
+msgid ""
+"Use the cover detected from the source file in preference to the specified "
+"cover."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:372
+msgid ""
+"Insert a blank line between paragraphs. Will not work if the source file "
+"does not use paragraphs (
or
tags)."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:379
+msgid ""
+"Remove the first image from the input ebook. Useful if the first image in "
+"the source file is a cover and you are specifying an external cover."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:387
+msgid ""
+"Insert the book metadata at the start of the book. This is useful if your "
+"ebook reader does not support displaying/searching metadata directly."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:395
+msgid ""
+"Convert plain quotes, dashes and ellipsis to their typographically correct "
+"equivalents. For details, see http://daringfireball.net/projects/smartypants"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:404
+msgid ""
+"Read metadata from the specified OPF file. Metadata read from this file will "
+"override any metadata in the source file."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:411
+msgid ""
+"Transliterate unicode characters to an ASCII representation. Use with care "
+"because this will replace unicode characters with ASCII. For instance it "
+"will replace \"%s\" with \"Mikhail Gorbachiov\". Also, note that in cases "
+"where there are multiple representations of a character (characters shared "
+"by Chinese and Japanese for instance) the representation based on the "
+"current calibre interface language will be used."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:426
+msgid ""
+"Preserve ligatures present in the input document. A ligature is a special "
+"rendering of a pair of characters like ff, fi, fl et cetera. Most readers do "
+"not have support for ligatures in their default fonts, so they are unlikely "
+"to render correctly. By default, calibre will turn a ligature into the "
+"corresponding pair of normal characters. This option will preserve them "
+"instead."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:438
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:38
+msgid "Set the title."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:442
+msgid "Set the authors. Multiple authors should be separated by ampersands."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:447
+msgid "The version of the title to be used for sorting. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:451
+msgid "String to be used when sorting by author. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:455
+msgid "Set the cover to the specified file or URL"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:459
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:54
+msgid "Set the ebook description."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:463
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:56
+msgid "Set the ebook publisher."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:60
+msgid "Set the series this ebook belongs to."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:471
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:62
+msgid "Set the index of the book in this series."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:475
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:64
+msgid "Set the rating. Should be a number between 1 and 5."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:479
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:66
+msgid "Set the ISBN of the book."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:483
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:68
+msgid "Set the tags for the book. Should be a comma separated list."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:487
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:70
+msgid "Set the book producer."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:491
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:72
+msgid "Set the language."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:495
+msgid "Set the publication date."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:499
+msgid "Set the book timestamp (used by the date column in calibre)."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:503
+msgid ""
+"Enable heuristic processing. This option must be set for any heuristic "
+"processing to take place."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:508
+msgid ""
+"Detect unformatted chapter headings and sub headings. Change them to h2 and "
+"h3 tags. This setting will not create a TOC, but can be used in conjunction "
+"with structure detection to create one."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:515
+msgid ""
+"Look for common words and patterns that denote italics and italicize them."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:520
+msgid ""
+"Turn indentation created from multiple non-breaking space entities into CSS "
+"indents."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:525
+msgid ""
+"Scale used to determine the length at which a line should be unwrapped. "
+"Valid values are a decimal between 0 and 1. The default is 0.4, just below "
+"the median line length. If only a few lines in the document require "
+"unwrapping this value should be reduced"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:533
+msgid "Unwrap lines using punctuation and other formatting clues."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:537
+msgid ""
+"Remove empty paragraphs from the document when they exist between every "
+"other paragraph"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:542
+msgid ""
+"Left aligned scene break markers are center aligned. Replace soft scene "
+"breaks that use multiple blank lines withhorizontal rules."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:548
+msgid ""
+"Replace scene breaks with the specified text. By default, the text from the "
+"input document is used."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:553
+msgid ""
+"Analyze hyphenated words throughout the document. The document itself is "
+"used as a dictionary to determine whether hyphens should be retained or "
+"removed."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:559
+msgid ""
+"Looks for occurrences of sequential
or
tags. The tags are "
+"renumbered to prevent splitting in the middle of chapter headings."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:565
+msgid "Search pattern (regular expression) to be replaced with sr1-replace."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:570
+msgid "Replacement to replace the text found with sr1-search."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:574
+msgid "Search pattern (regular expression) to be replaced with sr2-replace."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:579
+msgid "Replacement to replace the text found with sr2-search."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:583
+msgid "Search pattern (regular expression) to be replaced with sr3-replace."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:588
+msgid "Replacement to replace the text found with sr3-search."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:690
+msgid "Could not find an ebook inside the archive"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:748
+msgid "Values of series index and rating must be numbers. Ignoring"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:755
+msgid "Failed to parse date/time"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:914
+msgid "Converting input to HTML..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:941
+msgid "Running transforms on ebook..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:1037
+msgid "Creating"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:20
+msgid "Failed to parse: %s with error: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:26
+msgid "ePub Fixer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/epubcheck.py:18
+msgid "Workaround epubcheck bugs"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/epubcheck.py:22
+msgid ""
+"Workarounds for bugs in the latest release of epubcheck. epubcheck reports "
+"many things as errors that are not actually errors. epub-fix will try to "
+"detect these and replace them with constructs that epubcheck likes. This may "
+"cause significant changes to your epub, complain to the epubcheck project."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21
+msgid ""
+"%prog [options] file.epub\n"
+"\n"
+"Fix common problems in EPUB files that can cause them to be rejected by "
+"poorly designed publishing services.\n"
+"\n"
+"By default, no fixing is done and messages are printed out for each error "
+"detected. Use the options to control which errors are automatically fixed."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52
+msgid "You must specify an epub file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:17
+msgid "Fix unmanifested files"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:21
+msgid ""
+"Fix unmanifested files. epub-fix can either add them to the manifest or "
+"delete them as specified by the delete unmanifested option."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:32
+msgid "Delete unmanifested files instead of adding them to the manifest"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:56
+msgid ""
+"Extract the contents of the generated EPUB file to the specified directory. "
+"The contents of the directory are first deleted, so be careful."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:62
+msgid ""
+"Turn off splitting at page breaks. Normally, input files are automatically "
+"split at every page break into two files. This gives an output ebook that "
+"can be parsed faster and with less resources. However, splitting is slow and "
+"if your source file contains a very large number of page breaks, you should "
+"turn off splitting on page breaks."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:73
+msgid ""
+"Split all HTML files larger than this size (in KB). This is necessary as "
+"most EPUB readers cannot handle large file sizes. The default of %defaultKB "
+"is the size required for Adobe Digital Editions."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:80
+msgid ""
+"Normally, if the input file has no cover and you don't specify one, a "
+"default cover is generated with the title, authors, etc. This option "
+"disables the generation of this cover."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:86
+msgid ""
+"Do not use SVG for the book cover. Use this option if your EPUB is going to "
+"be used on a device that does not support SVG, like the iPhone or the "
+"JetBook Lite. Without this option, such devices will display the cover as a "
+"blank page."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:94
+msgid ""
+"When using an SVG cover, this option will cause the cover to scale to cover "
+"the available screen area, but still preserve its aspect ratio (ratio of "
+"width to height). That means there may be white borders at the sides or top "
+"and bottom of the image, but the image will never be distorted. Without this "
+"option the image may be slightly distorted, but there will be no borders."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:105
+msgid ""
+"This option is needed only if you intend to use the EPUB with FBReaderJ. It "
+"will flatten the file system inside the EPUB, putting all files into the top "
+"level."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:184
+#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:206
+msgid "Start"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:32
+msgid "Do not insert a Table of Contents at the beginning of the book."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/output.py:149
+msgid ""
+"Specify the sectionization of elements. A value of \"nothing\" turns the "
+"book into a single section. A value of \"files\" turns each file into a "
+"separate section; use this if your device is having trouble. A value of "
+"\"Table of Contents\" turns the entries in the Table of Contents into titles "
+"and creates sections; if it fails, adjust the \"Structure Detection\" and/or "
+"\"Table of Contents\" settings (turn on \"Force use of auto-generated Table "
+"of Contents)."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/output.py:158
+msgid ""
+"Genre for the book. Choices: %s\n"
+"\n"
+" See: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/output.py:159
+msgid "for a complete list with descriptions."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
+msgid ""
+"Traverse links in HTML files breadth first. Normally, they are traversed "
+"depth first."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
+msgid ""
+"Maximum levels of recursion when following links in HTML files. Must be non-"
+"negative. 0 implies that no links in the root HTML file are followed. "
+"Default is %default."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
+msgid ""
+"Normally this input plugin re-arranges all the input files into a standard "
+"folder hierarchy. Only use this option if you know what you are doing as it "
+"can result in various nasty side effects in the rest of of the conversion "
+"pipeline."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:32
+msgid "CSS file used for the output instead of the default file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:35
+msgid ""
+"Template used for generation of the html index file instead of the default "
+"file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:38
+msgid ""
+"Template used for the generation of the html contents of the book instead of "
+"the default file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:41
+msgid ""
+"Extract the contents of the generated ZIP file to the specified directory. "
+"WARNING: The contents of the directory will be deleted."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/htmlz/output.py:30
+msgid ""
+"Specify the handling of CSS. Default is class.\n"
+"class: Use CSS classes and have elements reference them.\n"
+"inline: Write the CSS as an inline style attribute.\n"
+"tag: Turn as many CSS styles as possible into HTML tags."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/htmlz/output.py:38
+msgid ""
+"How to handle the CSS when using css-type = 'class'.\n"
+"Default is external.\n"
+"external: Use an external CSS file that is linked in the document.\n"
+"inline: Place the CSS in the head section of the document."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47
+msgid "Creating LIT file from EPUB..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320
+msgid "\tBook Designer file detected."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:322
+msgid "\tParsing HTML..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:345
+msgid "\tBaen file detected. Re-parsing..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:361
+msgid "Written preprocessed HTML to "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:379
+msgid "Processing %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:393
+msgid "\tConverting to BBeB..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:552
+msgid "Could not parse file: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:544
+msgid "%s is an empty file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:564
+msgid "Failed to parse link %s %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:608
+msgid "Cannot add link %s to TOC"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:957
+msgid "Unable to process image %s. Error: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1002
+msgid "Unable to process interlaced PNG %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1017
+msgid ""
+"Could not process image: %s\n"
+"%s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772
+msgid ""
+"An error occurred while processing a table: %s. Ignoring table markup."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774
+msgid ""
+"Bad table:\n"
+"%s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796
+msgid "Table has cell that is too large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862
+msgid "Could not read cover image: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865
+msgid "Cannot read from: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1994
+msgid "Failed to process opf file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:136
+msgid ""
+"%prog book.lrf\n"
+"Convert an LRF file into an LRS (XML UTF-8 encoded) file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:137
+msgid "Output LRS file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:139
+msgid "Do not save embedded image and font files to disk"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:158
+msgid "Parsing LRF..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:161
+msgid "Creating XML..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:163
+msgid "LRS written to "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:267
+msgid "Could not read from thumbnail file:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287
+msgid ""
+"%prog [options] file.lrs\n"
+"Compile an LRS file into an LRF file."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:288
+msgid "Path to output file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:290
+msgid "Verbose processing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:292
+msgid "Convert LRS to LRS, useful for debugging."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:457
+msgid "Invalid LRF file. Could not set metadata."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:582
+msgid ""
+"%prog [options] mybook.lrf\n"
+"\n"
+"\n"
+"Show/edit the metadata in an LRF file.\n"
+"\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:589
+msgid "Set the book title"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:591
+msgid "Set sort key for the title"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:593
+msgid "Set the author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:595
+msgid "Set sort key for the author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:597
+msgid "The category this book belongs to. E.g.: History"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:600
+msgid "Path to a graphic that will be set as this files' thumbnail"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:603
+msgid ""
+"Path to a txt file containing the comment to be stored in the lrf file."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:607
+msgid "Extract thumbnail from LRF file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:608
+msgid "Set the publisher"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:609
+msgid "Set the book classification"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:610
+msgid "Set the book creator"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:611
+msgid "Set the book producer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:613
+msgid ""
+"Extract cover from LRF file. Note that the LRF format has no defined cover, "
+"so we use some heuristics to guess the cover."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:615
+msgid "Set book ID"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:90
+msgid "Enable autorotation of images that are wider than the screen width."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:94
+msgid "Set the space between words in pts. Default is %default"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:97
+msgid "Add a header to all the pages with title and author."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:100
+msgid ""
+"Set the format of the header. %a is replaced by the author and %t by the "
+"title. Default is %default"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:104
+msgid "Add extra spacing below the header. Default is %default pt."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:107
+msgid ""
+"Minimum paragraph indent (the indent of the first line of a paragraph) in "
+"pts. Default: %default"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:112
+msgid ""
+"Render tables in the HTML as images (useful if the document has large or "
+"complex tables)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:117
+msgid ""
+"Multiply the size of text in rendered tables by this factor. Default is "
+"%default"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:121
+msgid "The serif family of fonts to embed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:124
+msgid "The sans-serif family of fonts to embed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:127
+msgid "The monospace family of fonts to embed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:152
+msgid "Comic"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41
+msgid ""
+"Extract common e-book formats from archives (zip/rar) files. Also try to "
+"autodetect if they are actually cbz/cbr files."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
+msgid "Value: unknown field "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
+msgid "TEMPLATE ERROR"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
+msgid "No"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
+msgid "Yes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /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:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
+#: /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: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:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
+#: /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:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
+msgid "Publisher"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
+msgid "Producer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
+msgid "Comments"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
+#: /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: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:151
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:761
+msgid "Tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
+#: /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:74
+#: /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
+msgid "Series"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
+msgid "Language"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
+msgid "Timestamp"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
+msgid "Published"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
+msgid "Rights"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:20
+msgid "options"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:21
+msgid ""
+"\n"
+"Read/Write metadata from/to ebook files.\n"
+"\n"
+"Supported formats for reading metadata: %s\n"
+"\n"
+"Supported formats for writing metadata: %s\n"
+"\n"
+"Different file types support different kinds of metadata. If you try to set\n"
+"some metadata on a file type that does not support it, the metadata will be\n"
+"silently ignored.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:40
+msgid ""
+"Set the authors. Multiple authors should be separated by the & character. "
+"Author names should be in the order Firstname Lastname."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:44
+msgid ""
+"The version of the title to be used for sorting. If unspecified, and the "
+"title is specified, it will be auto-generated from the title."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:48
+msgid ""
+"String to be used when sorting by author. If unspecified, and the author(s) "
+"are specified, it will be auto-generated from the author(s)."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:52
+msgid "Set the cover to the specified file."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:58
+msgid "Set the book category."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:74
+msgid "Set the published date."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:77
+msgid "Get the cover from the ebook and save it at as the specified file."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:80
+msgid ""
+"Specify the name of an OPF file. The metadata will be written to the OPF "
+"file."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:83
+msgid ""
+"Read metadata from the specified OPF file and use it to set metadata in the "
+"ebook. Metadata specified on the command line will override metadata read "
+"from the OPF file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:88
+msgid "Set the BookID in LRF files"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:153
+msgid "No file specified"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:168
+msgid "Original metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:185
+msgid "Changed metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:197
+msgid "OPF created in"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:203
+msgid "Cover saved to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:205
+msgid "No cover found"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:64
+msgid ""
+"\n"
+"%prog [options] ISBN\n"
+"\n"
+"Fetch a cover image/social metadata for the book identified by ISBN from "
+"LibraryThing.com\n"
+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:36
+msgid "Cover"
+msgstr ""
+
+#: /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:395
+msgid "US"
+msgstr ""
+
+#: /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:397
+msgid "Germany"
+msgstr ""
+
+#: /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:399
+msgid "Italy"
+msgstr ""
+
+#: /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: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:531
+msgid "Amazon timed out. Try again later."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:159
+msgid "Metadata source"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
+msgid "Downloads metadata and covers from Douban.com"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:160
+msgid "Downloads metadata and covers from Google Books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:27
+msgid "Downloads metadata from isbndb.com"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:37
+msgid "IsbnDB key:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:38
+msgid ""
+"To use isbndb.com you have to sign up for a free accountat isbndb.com and "
+"get an access key."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:42
+msgid ""
+"To use metadata from isbndb.com you must sign up for a free account and get "
+"an isbndb key and enter it below. Instructions to get the key are here."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/openlibrary.py:15
+msgid "Downloads covers from The Open Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:33
+msgid "Downloads metadata and covers from Overdrive's Content Reserve"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:45
+msgid "Download all metadata (slow)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:46
+msgid "Enable this option to gather all metadata available from Overdrive."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:49
+msgid ""
+"Additional metadata can be taken from Overdrive's book detail page. This "
+"includes a limited set of tags used by libraries, comments, language, and "
+"the ebook ISBN. Collecting this data is disabled by default due to the extra "
+"time required. Check the download all metadata option below to enable "
+"downloading this data."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:22
+msgid "Modify images to meet Palm device size limitations."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:26
+msgid "When present, use author sort field as author."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:30
+msgid ""
+"Don't add Table of Contents to end of book. Useful if the book has its own "
+"table of contents."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:56
+msgid "Title for any generated in-line table of contents."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:37
+msgid "Disable compression of the file contents."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:40
+msgid "Tag marking book to be filed with Personal Docs"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:44
+msgid ""
+"Ignore margins in the input document. If False, then the MOBI output plugin "
+"will try to convert margins specified in the input document, otherwise it "
+"will ignore them."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:113
+msgid "All articles"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:274
+msgid "This is an Amazon Topaz book. It cannot be processed."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1494
+msgid "Title Page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1495
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:56
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:199
+msgid "Table of Contents"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1496
+msgid "Index"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1497
+msgid "Glossary"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1498
+msgid "Acknowledgements"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1499
+msgid "Bibliography"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1500
+msgid "Colophon"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1501
+msgid "Copyright"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1502
+msgid "Dedication"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1503
+msgid "Epigraph"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1504
+msgid "Foreword"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1505
+msgid "List of Illustrations"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1506
+msgid "List of Tables"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1507
+msgid "Notes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1508
+msgid "Preface"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1509
+msgid "Main Text"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:41
+msgid "%s format books are not supported"
+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:805
+msgid "Book %s of %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:54
+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:71
+#: /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
+msgid "Rating"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/split.py:34
+msgid ""
+"Could not find reasonable point at which to split: %s Sub-tree size: %d KB"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:32
+msgid "OPF/NCX/etc. generation options."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:35
+msgid "OPF version to generate. Default is %default."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:37
+msgid ""
+"Generate an Adobe \"page-map\" file if pagination information is available."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:128
+msgid "Footnotes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:139
+msgid "Sidebar"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:23
+msgid "Format to use inside the pdb container. Choices are:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:27
+msgid ""
+"Specify the character encoding of the output document. The default is "
+"cp1252. Note: This option is not honored by all formats."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:36
+#: /home/kovid/work/calibre/src/calibre/ebooks/rb/output.py:21
+#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:40
+msgid "Add Table of Contents to beginning of the book."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:24
+msgid "Do not extract images from the document"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:26
+msgid ""
+"Scale used to determine the length at which a line should be unwrapped. "
+"Valid values are a decimal between 0 and 1. The default is 0.45, just below "
+"the median line length."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:30
+msgid "Use the new PDF conversion engine."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/cli.py:31
+msgid ""
+"command ...\n"
+"\n"
+"command can be one of the following:\n"
+"[%%commands]\n"
+"\n"
+"Use %prog command --help to get more information about a specific command\n"
+"\n"
+"Manipulate a PDF.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:29
+msgid ""
+"[options] file.pdf\n"
+"\n"
+"Crop a PDF file.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:38
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:32
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:34
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:36
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:34
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:33
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:41
+msgid ""
+"Path to output file. By default a file is created in the current directory."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:41
+msgid "Number of pixels to crop from the left most x (default is %s)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:44
+msgid "Number of pixels to crop from the left most y (default is %s)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:47
+msgid "Number of pixels to crop from the right most x (default is %s)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:50
+msgid "Number of pixels to crop from the right most y (default is %s)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:53
+msgid ""
+"A file generated by ghostscript which allows each page to be individually "
+"cropped `gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=bbox file.pdf 2> bounding`"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:73
+msgid "Crop Options:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:73
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:60
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:54
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:56
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:54
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:53
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:61
+msgid "Options to control the transformation of pdf"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:23
+msgid ""
+"[options] file.pdf password\n"
+"\n"
+"Decrypt a PDF.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:60
+msgid "Decrypt Options:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:25
+msgid ""
+"[options] file.pdf password\n"
+"\n"
+"Encrypt a PDF.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:54
+msgid "Encrypt Options:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:21
+msgid ""
+"file.pdf ...\n"
+"\n"
+"Get info about a PDF.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:46
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:40
+msgid "Author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27
+msgid "Subject"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:48
+msgid "Creator"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:50
+msgid "Pages"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:51
+msgid "File Size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:52
+msgid "PDF Version"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:25
+msgid ""
+"[options] file1.pdf file2.pdf ...\n"
+"\n"
+"Metadata will be used from the first PDF specified.\n"
+"\n"
+"Merges individual PDFs.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:56
+msgid "Merge Options:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:25
+msgid ""
+"[options] file.pdf\n"
+"\n"
+"Reverse a PDF.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:54
+msgid "Reverse Options:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:24
+msgid ""
+"file.pdf degrees\n"
+"\n"
+"Rotate pages of a PDF clockwise.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:53
+msgid "Rotate Options:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:25
+msgid ""
+"\n"
+"%prog %%name [options] file.pdf page_to_split_on ...\n"
+"%prog %%name [options] file.pdf page_range_to_split_on ...\n"
+"\t\n"
+"Ex.\n"
+"\t\n"
+"%prog %%name file.pdf 6\n"
+"%prog %%name file.pdf 6-12\n"
+"%prog %%name file.pdf 6-12 8 10 9-20\n"
+"\n"
+"Split a PDF.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:61
+msgid "Split Options:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
+msgid ""
+"The unit of measure. Default is inch. Choices are %s Note: This does not "
+"override the unit for margins!"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
+msgid ""
+"The size of the paper. This size will be overridden when an output profile "
+"is used. Default is letter. Choices are %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
+msgid ""
+"Custom size of the document. Use the form widthxheight EG. `123x321` to "
+"specify the width and height. This overrides any specified paper-size."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
+msgid "The orientation of the page. Default is portrait. Choices are %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
+msgid ""
+"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
+"full first page of the generated pdf."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftohtml.py:57
+msgid "Could not find pdftohtml, check it is in your PATH"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:32
+msgid ""
+"Specify the character encoding of the output document. The default is cp1252."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:39
+msgid ""
+"Do not reduce the size or bit depth of images. Images have their size and "
+"depth reduced by default to accommodate applications that can not convert "
+"images on their own such as Dropbook."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102
+#: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97
+msgid "Table of Contents:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:272
+msgid ""
+"This RTF file has a feature calibre does not support. Convert it to HTML "
+"first and then try it.\n"
+"%s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/rtf2xml/hex_2_utf8.py:296
+msgid "error no state found in hex_2_utf8"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:25
+#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:23
+#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:36
+msgid ""
+"Specify the character encoding of the output document. The default is utf-8."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:29
+#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:43
+msgid ""
+"The maximum number of characters per line. This splits on the first space "
+"before the specified value. If no space is found the line will be broken at "
+"the space after and will exceed the specified value. Also, there is a "
+"minimum of 25 characters. Use 0 to disable line splitting."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:36
+msgid ""
+"Specify whether or not to insert an empty line between two paragraphs."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:40
+msgid ""
+"Specify whether or not to insert two space characters to indent the first "
+"line of each paragraph."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:44
+msgid ""
+"Specify whether or not to hide the chapter title for each chapter. Useful "
+"for image-only output (eg. comics)."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:48
+msgid "Resize all the images for full screen view. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:125
+msgid "Start Page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:135
+#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:137
+msgid "Cover Pages"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:150
+#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:153
+msgid " (Preface)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:30
+msgid ""
+"Paragraph structure.\n"
+"choices are ['auto', 'block', 'single', 'print', 'unformatted', 'off']\n"
+"* auto: Try to auto detect paragraph type.\n"
+"* block: Treat a blank line as a paragraph break.\n"
+"* single: Assume every line is a paragraph.\n"
+"* print: Assume every line starting with 2+ spaces or a tab starts a "
+"paragraph.\n"
+"* unformatted: Most lines have hard line breaks, few/no blank lines or "
+"indents. Tries to determine structure and reformat the differentiate "
+"elements.\n"
+"* off: Don't modify the paragraph structure. This is useful when combined "
+"with Markdown or Textile formatting to ensure no formatting is lost."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:43
+msgid ""
+"Formatting used within the document.* auto: Automatically decide which "
+"formatting processor to use.\n"
+"* plain: Do not process the document formatting. Everything is a paragraph "
+"and no styling is applied.\n"
+"* heuristic: Process using heuristics to determine formatting such as "
+"chapter headings and italic text.\n"
+"* textile: Processing using textile formatting.\n"
+"* markdown: Processing using markdown formatting. To learn more about "
+"markdown see"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:53
+msgid ""
+"Normally extra spaces are condensed into a single space. With this option "
+"all spaces will be displayed."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:56
+msgid ""
+"Normally extra space at the beginning of lines is retained. With this option "
+"they will be removed."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:59
+msgid "Do not insert a Table of Contents into the output text."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:30
+msgid ""
+"Type of newline to use. Options are %s. Default is 'system'. Use 'old_mac' "
+"for compatibility with Mac OS 9 and earlier. For Mac OS X use 'unix'. "
+"'system' will default to the newline type used by this OS."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:50
+msgid ""
+"Force splitting on the max-line-length value when no space is present. Also "
+"allows max-line-length to be below the minimum"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:55
+msgid ""
+"Formatting used within the document.\n"
+"* plain: Produce plain text.\n"
+"* markdown: Produce Markdown formatted text.\n"
+"* textile: Produce Textile formatted text."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:61
+msgid ""
+"Do not remove links within the document. This is only useful when paired "
+"with a txt-output-formatting option that is not none because links are "
+"always removed with plain text output."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:66
+msgid ""
+"Do not remove image references within the document. This is only useful when "
+"paired with a txt-output-formatting option that is not none because links "
+"are always removed with plain text output."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:71
+msgid ""
+"Do not remove font color from output. This is only useful when txt-output-"
+"formatting is set to textile. Textile is the only formatting that supports "
+"setting font color. If this option is not specified font color will not be "
+"set and default to the color displayed by the reader (generally this is "
+"black)."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:104
+msgid "Send file to storage card instead of main memory by default"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:106
+msgid "Confirm before deleting"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:108
+msgid "Main window geometry"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:110
+msgid "Notify when a new version is available"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:112
+msgid "Use Roman numerals for series number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:114
+msgid "Sort tags list by name, popularity, or rating"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:116
+msgid "Match tags by any or all."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:118
+msgid "Number of covers to show in the cover browsing mode"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:120
+msgid "Defaults for conversion to LRF"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:122
+msgid "Options for the LRF ebook viewer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:125
+msgid "Formats that are viewed using the internal viewer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:127
+msgid "Columns to be displayed in the book list"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:128
+msgid "Automatically launch content server on application startup"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:129
+msgid "Oldest news kept in database"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:130
+msgid "Show system tray icon"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:132
+msgid "Upload downloaded news to device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:134
+msgid "Delete books from library after uploading to device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:136
+msgid ""
+"Show the cover flow in a separate window instead of in the main calibre "
+"window"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:138
+msgid "Disable notifications from the system tray icon"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:140
+msgid "Default action to perform when send to device button is clicked"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:145
+msgid ""
+"Start searching as you type. If this is disabled then search will only take "
+"place when the Enter or Return key is pressed."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:148
+msgid ""
+"When searching, show all books with search results highlighted instead of "
+"showing only the matches. You can use the N or F3 keys to go to the next "
+"match."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:166
+msgid ""
+"Maximum number of simultaneous conversion/news download jobs. This number is "
+"twice the actual value for historical reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:170
+msgid "Download social metadata (tags/rating/etc.)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:172
+msgid "Overwrite author and title with new metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:174
+msgid "Automatically download the cover, if available"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:176
+msgid "Limit max simultaneous jobs to number of CPUs"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:178
+msgid "The layout of the user interface"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180
+msgid "Show the average rating per item indication in the tag browser"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:182
+msgid "Disable UI animations"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187
+msgid "tag browser categories not to display"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:462
+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:621
+msgid "Books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:30
+msgid "EPUB Books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:31
+msgid "LRF Books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:32
+msgid "HTML Books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:33
+msgid "LIT Books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:34
+msgid "MOBI Books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:35
+msgid "Topaz books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:36
+msgid "Text books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:37
+msgid "PDF Books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:38
+msgid "SNB Books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:39
+msgid "Comics"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:40
+msgid "Archives"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:47
+msgid "Add books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:48
+msgid "Add books to the calibre library/device from files on your computer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:49
+msgid "A"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:55
+msgid "Add books from a single directory"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:57
+msgid ""
+"Add books from directories, including sub-directories (One book per "
+"directory, assumes every ebook file is the same book in a different format)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:61
+msgid ""
+"Add books from directories, including sub directories (Multiple books per "
+"directory, assumes every ebook file is a different book)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:65
+msgid "Add Empty book. (Book entry with no formats)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:66
+msgid "Shift+Ctrl+E"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:67
+msgid "Add from ISBN"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:69
+msgid "Add files to selected book records"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:70
+msgid "Shift+A"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:90
+msgid "Are you sure"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:91
+msgid ""
+"Are you sure you want to add the same files to all %d books? If the "
+"formatalready exists for a book, it will be replaced."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:97
+msgid "Select book files"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:168
+msgid "Adding"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:169
+msgid "Creating book records from ISBNs"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:268
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:317
+msgid "Uploading books to device."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:288
+msgid "Supported books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:291
+msgid "Select books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:329
+msgid "Merged some books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:330
+msgid ""
+"The following duplicate books were found and incoming book formats were "
+"processed and merged into your Calibre database according to your automerge "
+"settings:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:349
+msgid "Failed to read metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:350
+msgid "Failed to read metadata from the following"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:371
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:376
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:395
+msgid "Add to library"
+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:83
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:102
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:111
+#: /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
+msgid "No book selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:389
+msgid ""
+"The following books are virtual and cannot be added to the calibre library:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:395
+msgid "No book files found"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add_to_library.py:13
+msgid "Add books to library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/add_to_library.py:14
+msgid "Add books to your calibre library from the connected device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:543
+msgid "Fetch annotations (experimental)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:56
+msgid "Not supported"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:57
+msgid "Fetching annotations is not supported for this device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:245
+msgid "Use library only"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:246
+msgid "User annotations generated from main library only"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:33
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:156
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:220
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92
+msgid "No books selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:70
+msgid "No books selected to fetch annotations from"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:95
+msgid "Merging user annotations into database"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:123
+msgid "%s Last Page Read: %d (%d%%)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:129
+msgid "%s Last Page Read: Location %d (%d%%)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:148
+msgid "Location %d • %s %s "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:157
+msgid "Page %d • %s "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:162
+msgid "Location %d • %s "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:20
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:34
+msgid "Create a catalog of the books in your calibre library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:34
+msgid "No books selected for catalog generation"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:57
+msgid "Generating %s catalog..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:81
+msgid "Catalog generated."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:84
+msgid "Export Catalog Directory"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:85
+msgid "Select destination for %s.%s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:170
+#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125
+msgid "%d books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:82
+msgid "Choose calibre library to work with"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:94
+msgid "Switch/create library..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87
+msgid "Quick switch"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88
+msgid "Rename library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:109
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:89
+msgid "Delete library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:112
+msgid "Pick a random book"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:132
+msgid "Library Maintenance"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:133
+msgid "Library metadata backup status"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:137
+msgid "Start backing up metadata of all books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141
+msgid "Check library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:145
+msgid "Restore database"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:220
+msgid "Rename"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:221
+msgid "Choose a new name for the library %s. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:222
+msgid "Note that the actual library folder will be renamed."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:229
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:199
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:289
+msgid "Already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:230
+msgid "The folder %s already exists. Delete it first."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:236
+msgid "Rename failed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:237
+msgid ""
+"Failed to rename the library at %s. The most common cause for this is if one "
+"of the files in the library is open in another program."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:248
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:368
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:457
+#: /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:242
+msgid "Are you sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:249
+msgid ""
+"All files (not just ebooks) from "
+"
%s
will be permanently deleted. Are you sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:270
+msgid "none"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:271
+msgid "Backup status"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:272
+msgid "Book metadata files remaining to be written: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:278
+msgid "Backup metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:279
+msgid ""
+"Metadata will be backed up while calibre is running, at the rate of "
+"approximately 1 book every three seconds."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:111
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:295
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:349
+msgid "Success"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312
+msgid ""
+"Found no errors in your calibre library database. Do you want calibre to "
+"check if the files in your library match the information in the database?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:150
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:692
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:974
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:101
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:277
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:317
+msgid "Failed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:318
+msgid "Database integrity check failed, click Show details for details."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:323
+msgid "No problems found"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324
+msgid "The files in your library match the information in the database."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333
+msgid "No library found"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334
+msgid ""
+"No existing calibre library was found at %s. It will be removed from the "
+"list of known libraries."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:400
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:405
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:101
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:857
+msgid "Not allowed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:401
+msgid ""
+"You cannot change libraries while using the environment variable "
+"CALIBRE_OVERRIDE_DATABASE_PATH."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:406
+msgid "You cannot change libraries while jobs are running."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22
+msgid "C"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22
+msgid "Convert books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:28
+msgid "Convert individually"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:30
+msgid "Bulk convert"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:560
+msgid "Cannot convert"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:115
+msgid "Starting conversion of %d book(s)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:171
+msgid "Empty output file, probably the conversion process crashed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:83
+msgid "Copy to library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:84
+msgid "Copy selected books to the specified library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:117
+msgid "(delete after copy)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:126
+msgid "Cannot copy"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:131
+msgid "No library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:132
+msgid "No library found at %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139
+msgid "Copying"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:150
+msgid "Could not copy books: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:153
+msgid "Copied %d books to %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168
+msgid ""
+"You cannot use other libraries while using the environment variable "
+"CALIBRE_OVERRIDE_DATABASE_PATH."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:31
+msgid ""
+"You are trying to delete %d books. Sending so many files to the Recycle Bin "
+"can be slow. Should calibre skip the Recycle Bin? If you click Yes "
+"the files will be permanently deleted."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:42
+msgid "Deleting..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:65
+msgid "Deleted"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:77
+msgid "Failed to delete"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:78
+msgid ""
+"Failed to delete some books, click the Show Details button for details."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:84
+msgid "Del"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:84
+msgid "Remove books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:90
+msgid "Remove selected books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:92
+msgid "Remove files of a specific format from selected books.."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:95
+msgid "Remove all formats from selected books, except..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:98
+msgid "Remove covers from selected books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:101
+msgid "Remove matching books from device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:124
+msgid "Cannot delete"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:137
+msgid "Choose formats to be deleted"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
+msgid "Cannot delete books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
+msgid "No device is connected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
+msgid "Main memory"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
+msgid "Storage Card A"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
+msgid "Storage Card B"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
+msgid "No books to delete"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
+msgid "None of the selected books are on the device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
+msgid "Deleting books from device."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
+msgid ""
+"Some of the selected books are on the attached device. Where do you "
+"want the selected files deleted from?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
+msgid ""
+"The selected books will be permanently deleted and the files removed "
+"from your calibre library. Are you sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
+msgid ""
+"The selected books will be permanently deleted from your device. Are "
+"you sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:31
+msgid "Connect to folder"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:36
+msgid "Connect to iTunes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:42
+msgid "Connect to Bambook"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:56
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:64
+msgid "Start Content Server"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:66
+msgid "Stop Content Server"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:96
+msgid "Email to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:81
+msgid "Email to and delete from library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:90
+msgid "(delete from library)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:105
+msgid "Setup email based sharing of books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:123
+msgid "D"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:123
+msgid "Send to device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:141
+msgid "Connect/share"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:178
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:79
+msgid "Stopping"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:179
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:80
+msgid "Stopping server, this could take upto a minute, please wait..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_collections.py:13
+msgid "Manage collections"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_collections.py:14
+msgid "Manage the collections on this device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:24
+msgid "E"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:24
+msgid "Edit metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:28
+msgid "Merge book records"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:29
+msgid "M"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:31
+msgid "Edit metadata individually"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:34
+msgid "Edit metadata in bulk"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:37
+msgid "Download metadata and covers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:42
+msgid "Merge into first selected book - delete others"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:45
+msgid "Merge into first selected book - keep others"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:49
+msgid "Merge only formats into first selected book - delete others"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:71
+msgid "Cannot download metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:81
+msgid "Failed to download metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+msgid "Download failed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:88
+msgid "Failed to download metadata or covers for any of the %d book(s)."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:91
+msgid "Metadata download completed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:93
+msgid ""
+"Finished downloading metadata for %d book(s). Proceed with updating "
+"the metadata in your library?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:100
+msgid ""
+"Could not download metadata and/or covers for %d of the books. Click \"Show "
+"details\" to see which books."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
+msgid "Download complete"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
+msgid "Download log"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:136
+msgid "Some books changed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:137
+msgid ""
+"The metadata for some books in your library has changed since you started "
+"the download. If you proceed, some of those changes may be overwritten. "
+"Click \"Show details\" to see the list of changed books. Do you want to "
+"proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:155
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:219
+msgid "Cannot edit metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:256
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:259
+msgid "Cannot merge books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:260
+msgid "At least two books must be selected for merging"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:263
+msgid ""
+"You are about to merge more than 5 books. Are you sure you want to "
+"proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:271
+msgid ""
+"Book formats and metadata from the selected books will be added to the "
+"first selected book (%s). ISBN will not be merged.
The "
+"second and subsequently selected books will not be deleted or "
+"changed.
Please confirm you want to proceed."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:283
+msgid ""
+"Book formats from the selected books will be merged into the first "
+"selected book (%s). Metadata in the first selected book will not be "
+"changed.Author, Title, ISBN and all other metadata will not be "
+"merged.
After merger the second and subsequently selected books, with "
+"any metadata they have will be deleted.
All book formats of "
+"the first selected book will be kept and any duplicate formats in the second "
+"and subsequently selected books will be permanently deleted from your "
+"calibre library.
Are you sure you want to proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:299
+msgid ""
+"Book formats and metadata from the selected books will be merged into the "
+"first selected book (%s). ISBN will not be "
+"merged.
After merger the second and subsequently selected books will "
+"be deleted.
All book formats of the first selected book will "
+"be kept and any duplicate formats in the second and subsequently selected "
+"books will be permanently deleted from your calibre library.
"
+"Are you sure you want to proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:455
+msgid "Applying changed metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
+msgid "Some failures"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
+msgid ""
+"Failed to apply updated metadata for some books in your library. Click "
+"\"Show Details\" to see details."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:19
+msgid "F"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:19
+msgid "Fetch news"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:54
+msgid "Fetching news from "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:83
+msgid " fetched."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16
+msgid "Browse the calibre User Manual"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16
+msgid "F1"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:91
+msgid "Help"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:12
+msgid "Move to next match"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:13
+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:388
+msgid "N"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:13
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:204
+msgid "F3"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:25
+msgid "Move to previous item"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:26
+msgid "Move to previous highlighted item"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:26
+msgid "Shift+N"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:27
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:213
+msgid "Shift+F3"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:14
+msgid "Open containing folder"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:15
+msgid "O"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:18
+msgid "Ctrl+P"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:24
+msgid "Change calibre behavior"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:25
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:208
+msgid "Run welcome wizard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:29
+msgid "Restart in debug mode"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:44
+msgid "Cannot configure while there are running jobs."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:49
+msgid "Cannot configure before calibre is restarted."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14
+msgid "&Restart"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14
+#: /home/kovid/work/calibre/src/calibre/utils/pyconsole/main.py:59
+msgid "Ctrl+R"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:24
+msgid "Save single format to disk..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:40
+msgid "S"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:46
+msgid "Save to disk"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:48
+msgid "Save to disk in a single directory"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:50
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:69
+msgid "Save only %s format to disk"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:72
+msgid "Save only %s format to disk in a single directory"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91
+msgid "Cannot save to disk"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:94
+msgid "Choose destination directory"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:102
+msgid ""
+"You are trying to save files into the calibre library. This can cause "
+"corruption of your library. Save to disk is meant to export files from your "
+"calibre library elsewhere."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:136
+msgid "Error while saving"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:137
+msgid "There was an error while saving."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:144
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:145
+msgid "Could not save some books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:146
+msgid "Click the show details button to see which ones."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:766
+msgid "Show book details"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:17
+msgid "I"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:26
+msgid "No detailed info available"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:27
+msgid "No detailed information is available for books on the device."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:17
+msgid "Similar books..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
+msgid "Alt+A"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:24
+msgid "Books by same author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25
+msgid "Books in this series"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26
+msgid "Alt+Shift+S"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:27
+msgid "Alt+P"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:27
+msgid "Books by this publisher"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:28
+msgid "Alt+T"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:28
+msgid "Books with the same tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:20
+msgid "Get books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:29
+msgid "Search for ebooks"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:30
+msgid "Search for this author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:31
+msgid "Search for this title"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32
+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: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:43
+#: /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:270
+msgid "Choose stores"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:102
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:111
+msgid "Cannot search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:130
+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:134
+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:138
+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:148
+msgid "Show this message again"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:149
+msgid "About Get Books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:15
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:60
+msgid "Tweak ePub"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:16
+msgid "Make small changes to ePub format books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:17
+msgid "T"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:27
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:39
+msgid "Cannot tweak ePub"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:40
+msgid "No ePub available. First convert the book to ePub."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
+msgid "V"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:36
+msgid "View"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:43
+msgid "View specific format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:51
+msgid "Read a random book"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:55
+msgid "Clear recently viewed list"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:139
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:219
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:226
+msgid "Cannot view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:166
+msgid "Format unavailable"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:153
+msgid "Selected books have no formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:127
+msgid "Choose the format to view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:167
+msgid ""
+"Not all the selected books were available in the %s format. You should "
+"convert them first."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:174
+msgid "Multiple Books Selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:175
+msgid ""
+"You are attempting to open %d books. Opening too many books at once can be "
+"slow and have a negative effect on the responsiveness of your computer. Once "
+"started the process cannot be stopped until complete. Do you wish to "
+"continue?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:184
+msgid "Cannot open folder"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:220
+msgid "This book no longer exists in your library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:227
+msgid "%s has no available formats."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:68
+msgid "Searching in"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:245
+msgid "Adding..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:258
+msgid "Searching in all sub-directories..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:269
+msgid "Path error"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270
+msgid "The specified directory could not be processed."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:274
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:845
+msgid "No books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275
+msgid "No books found"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:339
+msgid "Added"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:352
+msgid "Adding failed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:353
+msgid ""
+"The add books process seems to have hung. Try restarting calibre and adding "
+"the books in smaller increments, until you find the problem book."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:368
+msgid "Duplicates found!"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:369
+msgid ""
+"Books with the same title as the following already exist in the database. "
+"Add them anyway?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372
+msgid "Adding duplicates..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:441
+msgid "Saving..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add.py:516
+msgid "Saved"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:56
+msgid "Searching for sub-folders"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:61
+msgid "Searching for books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:73
+msgid "Looking for duplicates based on file hash"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:70
+msgid "Choose root folder"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:135
+msgid "Invalid root folder"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:136
+msgid "is not a valid root folder"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:146
+msgid "Add books to calibre"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:26
+#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:46
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:46
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46
+msgid "WizardPage"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:27
+msgid "Scanning root folder for books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:28
+msgid "This may take a few minutes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:63
+msgid "Choose the location to add books from"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:64
+msgid "Select a folder on your hard disk"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:65
+msgid ""
+"
calibre can scan your computer for existing books automatically. These "
+"books will then be copied into the calibre library. This wizard will "
+"help you customize the scanning and import process for your existing book "
+"collection.
\n"
+"
Choose a root folder. Books will be searched for only inside this folder "
+"and any sub-folders.
\n"
+"
Make sure that the folder you chose for your calibre library is "
+"not under the root folder you choose.
Default pattern \n"
+"\\[.+\\]\n"
+"excludes tags of the form [tag], \n"
+"e.g., [Project Gutenberg]
"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:308
+msgid "Excluded genres"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:312
+msgid "Tags to &exclude"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:310
+msgid ""
+"Books matching either pattern will not be included in generated catalog. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:311
+msgid "Excluded books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:313
+msgid ""
+"
Comma-separated list of tags to exclude.\n"
+"Default: ~,Catalog"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:320
+msgid "&Column/value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:316
+msgid "Column containing additional exclusion criteria"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:317
+msgid "Exclusion pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:318
+msgid "Matching books will be displayed with a check mark"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:319
+msgid "Read books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:321
+msgid "Column containing 'read' status"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:322
+msgid "'read book' pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:323
+msgid "Other options"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:324
+msgid "&Wishlist tag"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:325
+msgid "Books tagged as Wishlist items will be displayed with an X"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:326
+msgid "&Thumbnail width"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:327
+msgid "Size hint for Description cover thumbnails"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:328
+msgid " inch"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:329
+msgid "&Description note"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:330
+msgid "Custom column source for note to include in Description header area"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:331
+msgid "&Merge with Comments"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:332
+msgid "Additional content merged with Comments during catalog generation"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:333
+msgid "Merge additional content before Comments"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:334
+msgid "&Before"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:335
+msgid "Merge additional content after Comments"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:336
+msgid "&After"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:337
+msgid "Separate Comments and additional content with horizontal rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:338
+msgid "&Separator"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33
+msgid "Tab template for catalog.ui"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:69
+msgid "Bold"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:70
+msgid "Italic"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:73
+msgid "Underline"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:75
+msgid "Strikethrough"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:77
+msgid "Superscript"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:79
+msgid "Subscript"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:81
+msgid "Ordered list"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:83
+msgid "Unordered list"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:86
+msgid "Align left"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:88
+msgid "Align center"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:90
+msgid "Align right"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:92
+msgid "Align justified"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:93
+msgid "Undo"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:94
+msgid "Redo"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:95
+msgid "Remove formatting"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:134
+msgid "Copy"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:97
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:136
+msgid "Paste"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:98
+msgid "Cut"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:100
+msgid "Increase Indentation"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:102
+msgid "Decrease Indentation"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:104
+msgid "Select all"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:109
+msgid "Foreground color"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:114
+msgid "Background color"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:118
+msgid "Style text block"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:120
+msgid "Style the selected text block"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:158
+msgid "Normal"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:131
+msgid "Heading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:132
+msgid "Pre-formatted"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:133
+msgid "Blockquote"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:134
+msgid "Address"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141
+msgid "Insert link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:143
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:79
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:84
+msgid "Clear"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:161
+msgid "Choose foreground color"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:167
+msgid "Choose background color"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:172
+msgid "Create link"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:173
+msgid "Enter URL"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:523
+msgid "Normal view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:524
+msgid "HTML Source"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40
+msgid ""
+"For settings that cannot be specified in this dialog, use the values saved "
+"in a previous conversion (if they exist) instead of using the defaults "
+"specified in the Preferences"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74
+msgid "Bulk Convert"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189
+msgid "Options specific to the output format."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:15
+msgid "Comic Input"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:16
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:13
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:13
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:13
+msgid "input"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:104
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99
+msgid "&Number of Colors:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:105
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101
+msgid "Disable &normalize"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102
+msgid "Keep &aspect ratio"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:107
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103
+msgid "Disable &Sharpening"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:108
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:109
+msgid "Disable &Trimming"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:109
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:108
+msgid "&Wide"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:110
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104
+msgid "&Landscape"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:111
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:106
+msgid "&Right to left"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:112
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:105
+msgid "Don't so&rt"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:113
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:107
+msgid "De&speckle"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:114
+msgid "&Disable comic processing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:115
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:120
+msgid "&Output format:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:116
+msgid "Disable conversion of images to &black and white"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:117
+msgid "Override image &size:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:118
+msgid "Don't add links to &pages to the Table of Contents for CBC files"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19
+msgid "Debug"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:21
+msgid "Debug the conversion process."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:56
+msgid "Choose debug folder"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:58
+msgid "Invalid debug directory"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:59
+msgid "Failed to create debug directory"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:55
+msgid ""
+"Choose a folder to put the debug output into. If you specify a folder, "
+"calibre will place a lot of debug output into it. This will be useful in "
+"understanding the conversion process and figuring out the correct values for "
+"conversion parameters like Table of Contents and Chapter Detection."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:59
+msgid ""
+"The debug process outputs the intermediate HTML generated at various stages "
+"of the conversion process. This HTML can sometimes serve as a good starting "
+"point for hand editing a conversion."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:15
+msgid "EPUB Output"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:57
+msgid "Do not &split on page breaks"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:58
+msgid "No default &cover"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:59
+msgid "No &SVG cover"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:60
+msgid "Preserve cover &aspect ratio"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:61
+msgid "Split files &larger than:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:62
+msgid " KB"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:63
+msgid "&Flatten EPUB file structure"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:12
+msgid "FB2 Input"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:34
+msgid "Do not insert a &Table of Contents at the beginning of the book."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:14
+msgid "FB2 Output"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:45
+msgid "Sectionize:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:46
+msgid "Genre"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:104
+msgid "Font rescaling wizard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:105
+msgid ""
+"
This wizard will help you choose an appropriate font size key for your "
+"needs. Just enter the base font size of the input document and then enter an "
+"input font size. The wizard will display what font size it will be mapped "
+"to, by the font rescaling algorithm. You can adjust the algorithm by "
+"adjusting the output base font size and font key below. When you find values "
+"suitable for you, click OK.
\n"
+"
By default, if the output base font size is zero and/or no font size key "
+"is specified, calibre will use the values from the current Output Profile. "
+"
\n"
+"
See the User Manual for a discussion of how font size rescaling "
+"works.
"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:108
+msgid "&Output document"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:109
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:114
+msgid "&Base font size:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:110
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:141
+msgid "Font size &key:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:111
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:115
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:140
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:132
+msgid " pt"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:112
+msgid "Use &default values"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:113
+msgid "&Input document"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:116
+msgid "&Font size: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:118
+msgid " will map to size: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:119
+msgid "0.0 pt"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics.py:15
+msgid ""
+"Heuristic\n"
+"Processing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics.py:16
+msgid "Modify the document text and structure using common patterns."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:113
+msgid ""
+"Heuristic processing means that calibre will scan your book for "
+"common patterns and fix them. As the name implies, this involves guesswork, "
+"which means that it could end up worsening the result of a conversion, if "
+"calibre guesses wrong. Therefore, it is disabled by default. Often, if a "
+"conversion does not turn out as you expect, turning on heuristics can "
+"improve matters. Read more about the various heuristic processing options in "
+"the User Manual."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:114
+msgid "Enable &heuristic processing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:115
+msgid "Heuristic Processing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:116
+msgid "Unwrap lines"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:117
+msgid "Line &un-wrap factor :"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:118
+msgid "Detect and markup unformatted chapter headings and sub headings"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:119
+msgid "Renumber sequences of
or
tags to prevent splitting"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:120
+msgid "Delete blank lines between paragraphs"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:121
+msgid "Ensure scene breaks are consistently formatted"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:122
+msgid "Replace soft scene &breaks:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:123
+msgid "Remove unnecessary hyphens"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:124
+msgid "Italicize common words and patterns"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:125
+msgid "Replace entity indents with CSS indents"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/htmlz_output.py:14
+msgid "HTMLZ Output"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/htmlz_output_ui.py:45
+msgid "How to handle CSS"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/htmlz_output_ui.py:46
+msgid "How to handle class based CSS"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:16
+msgid "Look & Feel"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:18
+msgid "Control the look and feel of the output"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:31
+msgid "Original"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:32
+msgid "Left align"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:33
+msgid "Justify text"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:138
+msgid "&Disable font size rescaling"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:139
+msgid "Base &font size:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:142
+msgid "Wizard to help you choose an appropriate font size key"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:144
+msgid "Line &height:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:146
+msgid "Input character &encoding:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:147
+msgid "Remove &spacing between paragraphs"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:148
+msgid "Indent size:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:149
+msgid ""
+"
When calibre removes inter paragraph spacing, it automatically sets a "
+"paragraph indent, to ensure that paragraphs can be easily distinguished. "
+"This option controls the width of that indent."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:150
+msgid " em"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:151
+msgid "Text justification:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:152
+msgid "&Linearize tables"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:153
+msgid "Extra &CSS"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:154
+msgid "&Transliterate unicode characters to ASCII"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:155
+msgid "Insert &blank line"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:156
+msgid "Keep &ligatures"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:157
+msgid "Smarten &punctuation"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:158
+msgid "Minimum &line height:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:159
+msgid " %"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:19
+msgid "LRF Output"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:121
+msgid "Enable &autorotation of wide images"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:122
+msgid "&Wordspace:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:124
+msgid "Minimum para. &indent:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:126
+msgid "Render &tables as images"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:127
+msgid "Text size multiplier for text in rendered tables:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:128
+msgid "Add &header"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:129
+msgid "Header &separation:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:131
+msgid "Header &format:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:132
+msgid "&Embed fonts"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:133
+msgid "&Serif font family:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:134
+msgid "S&ans-serif font family:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:135
+msgid "&Monospaced font family:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:200
+msgid "Metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:49
+msgid ""
+"Set the metadata. The output file will contain as much of this metadata as "
+"possible."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180
+#: /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: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: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: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: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:776
+msgid " is not a valid picture"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:159
+msgid "Book Cover"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:160
+msgid "Change &cover image:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:161
+msgid "Browse for an image to use as the cover of this book."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:163
+msgid "Use cover from &source file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:164
+msgid "&Title: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:165
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:72
+msgid "Change the title of this book"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:525
+msgid "&Author(s): "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:167
+msgid "Author So&rt:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:168
+msgid ""
+"Change the author(s) of this book. Multiple authors should be separated by a "
+"comma"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:169
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:535
+msgid "&Publisher: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:170
+msgid "Ta&gs: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:537
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:931
+msgid ""
+"Tags categorize the book. This is particularly useful while searching. "
+"
To learn more advanced usage of XPath see the XPath Tutorial."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:128
+msgid "Browse by covers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:158
+msgid "Cover browser could not be loaded"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:112
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:149
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:183
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631
+#: /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: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:279
+#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:283
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1139
+msgid "Undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639
+msgid "star(s)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:127
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640
+msgid "Unrated"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:170
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669
+msgid "Set '%s' to today"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:172
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671
+msgid "Clear '%s'"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:298
+msgid " index:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367
+msgid ""
+"The enumeration \"{0}\" contains an invalid value that will be set to the "
+"default"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522
+msgid "Apply changes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715
+msgid "Remove series"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718
+msgid "Automatically number books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721
+msgid "Force numbers to start with "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:792
+msgid ""
+"The enumeration \"{0}\" contains invalid values that will not appear in the "
+"list"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:836
+msgid "Remove all tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:856
+msgid "tags to add"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:863
+msgid "tags to remove"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:43
+#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:144
+msgid "No details available."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:168
+msgid "Device no longer connected."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:291
+msgid "Get device information"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:305
+msgid "Get list of books on device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:315
+msgid "Get annotations from device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327
+msgid "Send metadata to device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:332
+msgid "Send collections to device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:368
+msgid "Upload %d books to device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:383
+msgid "Delete books from device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:400
+msgid "Download books from device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:410
+msgid "View book on device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:451
+msgid "Set default send to device action"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:457
+msgid "Send to main memory"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:459
+msgid "Send to storage card A"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461
+msgid "Send to storage card B"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475
+msgid "Main Memory"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:487
+msgid "Send specific format to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:488
+msgid "Send and delete from library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:531
+msgid "Eject device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:611
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:313
+#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54
+msgid "Error"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:612
+msgid "Error communicating with device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:631
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1170
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:221
+msgid "No suitable formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:647
+msgid "Select folder to open as device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:698
+msgid "Error talking to device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:699
+msgid ""
+"There was a temporary error talking to the device. Please unplug and "
+"reconnect the device and or reboot."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:742
+msgid "Device: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:744
+msgid " detected."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:846
+msgid "selected to send"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:865
+msgid "%i of %i Books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:868
+msgid "0 of %i Books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869
+msgid "Choose format to send to device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:877
+msgid "No device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878
+msgid "Cannot send: No device is connected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:881
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:885
+msgid "No card"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:882
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:886
+msgid "Cannot send: Device has no storage card"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1030
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1164
+msgid "Auto convert the following books before uploading to the device?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:976
+msgid "Sending catalogs to device."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1077
+msgid "Sending news to device."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1131
+msgid "Sending books to device."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1171
+msgid ""
+"Could not upload the following books to the device, as no suitable formats "
+"were found. Convert the book(s) to a format supported by your device first."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1243
+msgid "No space on device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1244
+msgid ""
+"
Cannot upload books to device there is no more free space available "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget.py:135
+msgid "Unknown formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget.py:136
+msgid ""
+"You have enabled the {0} formats for your {1}. The {1} may not "
+"support them. If you send these formats to your {1} they may not work. Are "
+"you sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget.py:148
+#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:437
+#: /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:438
+#: /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 ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:78
+msgid "Select available formats and their order for this device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:82
+msgid ""
+"If checked, books are placed into sub directories based on their metadata on "
+"the device. If unchecked, books are all put into the top level directory."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:83
+msgid "Use sub directories"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:84
+msgid "Use author sort for author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:85
+msgid "Save &template:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:20
+msgid "How many empty books?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:25
+msgid "How many empty books should be added?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:33
+msgid "Set the author of the new books to:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:45
+msgid "Reset author to Unknown"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:63
+msgid "Add books by ISBN"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:64
+msgid "&Paste from clipboard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:65
+msgid ""
+"
Enter a list of ISBNs in the box to the left, one per line. calibre will "
+"automatically create entries for books based on the ISBN and download "
+"metadata and covers for them.
\n"
+"
Any invalid ISBNs in the list will be ignored.
\n"
+"
You can also specify a file that will be added with each ISBN. To do this "
+"enter the full path to the file after a >>. For example:
\n"
+"
9788842915232 >> %s
"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:69
+msgid "&Tags to set on created book entries:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:71
+msgid "Fit &cover within view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog.py:33
+msgid "My Books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:314
+msgid "Generate catalog"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:93
+msgid "Generate catalog for {0} books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:94
+msgid "Catalog &format:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:95
+msgid ""
+"Catalog &title (existing catalog with the same title will be replaced):"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:96
+msgid "&Send catalog to device automatically"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:97
+msgid "Catalog options"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:25
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:26
+msgid "Checking database integrity"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:55
+msgid "Dumping database to SQL"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:81
+msgid "Loading database from SQL"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:148
+msgid "Check Library -- Problems Found"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:158
+msgid ""
+"
Help
\n"
+"\n"
+"
calibre stores the list of your books and their metadata in a\n"
+" database. The actual book files and covers are stored as normal\n"
+" files in the calibre library folder. The database contains a list of "
+"the files\n"
+" and covers belonging to each book entry. This tool checks that the\n"
+" actual files in the library folder on your computer match the\n"
+" information in the database.
\n"
+"\n"
+"
The result of each type of check is shown to the left. The "
+"various\n"
+" checks are:\n"
+"
\n"
+"
\n"
+"
Invalid titles: These are files and folders appearing\n"
+" in the library where books titles should, but that do not have the\n"
+" correct form to be a book title.
\n"
+"
Extra titles: These are extra files in your calibre\n"
+" library that appear to be correctly-formed titles, but have no "
+"corresponding\n"
+" entries in the database
\n"
+"
Invalid authors: These are files appearing\n"
+" in the library where only author folders should be.
\n"
+"
Extra authors: These are folders in the\n"
+" calibre library that appear to be authors but that do not have "
+"entries\n"
+" in the database
\n"
+"
Missing book formats: These are book formats that are in\n"
+" the database but have no corresponding format file in the book's "
+"folder.\n"
+"
Extra book formats: These are book format files found in\n"
+" the book's folder but not in the database.\n"
+"
Unknown files in books: These are extra files in the\n"
+" folder of each book that do not correspond to a known format or "
+"cover\n"
+" file.
\n"
+"
Missing cover files: These represent books that are "
+"marked\n"
+" in the database as having covers but the actual cover files are\n"
+" missing.
\n"
+"
Cover files not in database: These are books that have\n"
+" cover files but are marked as not having covers in the "
+"database.
\n"
+"
Folder raising exception: These represent folders in the\n"
+" calibre library that could not be processed/understood by this\n"
+" tool.
\n"
+"
\n"
+"\n"
+"
There are two kinds of automatic fixes possible: Delete\n"
+" marked and Fix marked.
\n"
+"
Delete marked is used to remove extra files/folders/covers "
+"that\n"
+" have no entries in the database. Check the box next to the item you "
+"want\n"
+" to delete. Use with caution.
\n"
+"\n"
+"
Fix marked is applicable only to covers and missing "
+"formats\n"
+" (the three lines marked 'fixable'). In the case of missing cover "
+"files,\n"
+" checking the fixable box and pushing this button will tell calibre "
+"that\n"
+" there is no cover for all of the books listed. Use this option if "
+"you\n"
+" are not going to restore the covers from a backup. In the case of "
+"extra\n"
+" cover files, checking the fixable box and pushing this button will "
+"tell\n"
+" calibre that the cover files it found are correct for all the books\n"
+" listed. Use this when you are not going to delete the file(s). In "
+"the\n"
+" case of missing formats, checking the fixable box and pushing this\n"
+" button will tell calibre that the formats are really gone. Use this "
+"if\n"
+" you are not going to restore the formats from a backup.
\n"
+"\n"
+" "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:226
+msgid "&Run the check again"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:229
+msgid "Copy &to clipboard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:236
+msgid "Delete marked files (checked subitems)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:242
+msgid "Fix marked sections (checked fixable items)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:252
+msgid "Names to ignore:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:257
+msgid ""
+"Enter comma-separated standard file name wildcards, such as synctoy*.dat"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:260
+msgid "Extensions to ignore"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:265
+msgid ""
+"Enter comma-separated extensions without a leading dot. Used only in book "
+"folders"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:314
+msgid "(fixable)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:337
+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"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:366
+msgid ""
+"The marked files and folders will be permanently deleted. Are you "
+"sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:45
+msgid "Choose Format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:49
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
+msgid "Format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:50
+msgid "Existing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:51
+msgid "Convertible"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:43
+msgid "Choose location for calibre library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:50
+msgid "Same as current"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:51
+msgid "The location %s contains the current calibre library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:56
+msgid "No existing library found"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:57
+msgid "There is no existing calibre library at %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:61
+msgid "Not empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:62
+msgid "The folder %s is not empty. Please choose an empty folder"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:87
+msgid "No location"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:87
+msgid "No location selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:91
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:670
+msgid "Bad location"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:92
+msgid "%s is not an existing folder"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:77
+msgid "Choose your calibre library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:78
+msgid "Your calibre library is currently located at {0}"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:79
+msgid "New &Location:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:80
+msgid "Use &existing library at the new location"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:81
+msgid "&Create an empty library at the new location"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:82
+msgid "&Copy structure from the current library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:83
+msgid ""
+"Copy the custom columns, saved searches, column widths, plugboards,\n"
+"user categories, and other information from the old to the new library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:85
+msgid "&Move current library to new location"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_plugin_toolbars.py:23
+msgid "Add \"%s\" to toolbars or menus"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_plugin_toolbars.py:29
+msgid "Select the toolbars and/or menus to add %s to:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_plugin_toolbars.py:45
+msgid ""
+"You can also customise the plugin locations using Preferences -> "
+"Customise the toolbar"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:33
+msgid "Set defaults for conversion of comics (CBR/CBZ files)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48
+msgid "Set options for converting %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:211
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:181
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:199
+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:178
+msgid "&Author(s):"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100
+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:236
+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:237
+#: /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"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
+msgid "Edit Comments"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:76
+msgid "Where do you want to delete from?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:68
+#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:228
+msgid "Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:70
+msgid "Device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:79
+msgid "Library and Device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:55
+msgid "&Show this warning again"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:47
+msgid "ERROR"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:67
+msgid ""
+"All checked books will be permanently deleted from your device. "
+"Please verify the list."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75
+msgid "Location"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
+#: /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
+#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:573
+msgid "Date"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device_ui.py:55
+msgid "Delete from device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/drm_error_ui.py:54
+msgid "This book is DRMed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/drm_error_ui.py:55
+msgid ""
+"
This book is locked by DRM. To learn more about DRM and why you "
+"cannot read or convert this book in calibre, \n"
+" click "
+"here.
A large number of recent, DRM free releases are \n"
+" available at Open "
+"Books."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:43
+msgid "Author sort"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
+msgid "No matches found"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:120
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:419
+msgid "Change Case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:121
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:420
+msgid "Upper Case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:260
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:421
+msgid "Lower Case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:422
+msgid "Swap Case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:262
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:423
+msgid "Title Case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:263
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:424
+msgid "Capitalize"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:141
+msgid "Copy to author sort"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:144
+msgid "Copy to author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1439
+msgid "Invalid author name"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1440
+msgid "Author names cannot contain & characters."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:120
+msgid "Manage authors"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:597
+msgid "&Search for:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:90
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2105
+msgid "F&ind"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:91
+msgid "Sort by author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:92
+msgid "Sort by author sort"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:93
+msgid ""
+"Reset all the author sort values to a value automatically\n"
+"generated from the author. Exactly how this value is automatically\n"
+"generated can be controlled via Preferences->Advanced->Tweaks"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:96
+msgid "Recalculate all author sort values"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:97
+msgid ""
+"Copy author sort to author for every author. You typically use this button\n"
+"after changing Preferences->Advanced->Tweaks->Author sort name algorithm"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:99
+msgid "Copy all author sort values to author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:45
+msgid "Details of job"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:49
+msgid "Active Jobs"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:50
+msgid "&Stop selected job"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:51
+msgid "Show job &details"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:52
+msgid "Stop &all non device jobs"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:49
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:53
+msgid "Show &details"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:54
+msgid "Hide &details"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:58
+msgid "Show detailed information about this error"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:98
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:525
+msgid "Copied"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
+msgid "Copy to clipboard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
+msgid "View log"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:58
+msgid "Title/Author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:59
+msgid "Standard metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:852
+msgid "Custom metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:61
+msgid "Search/Replace"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:76
+msgid "Working"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:266
+msgid "Character match"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:267
+msgid "Regular Expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:270
+msgid "Replace field"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:271
+msgid "Prepend to field"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:272
+msgid "Append to field"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282
+msgid "Editing meta information for %d books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:323
+msgid ""
+"Immediately make all changes without closing the dialog. This operation "
+"cannot be canceled or undone"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:382
+msgid "Book %d:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:400
+msgid "Enter an identifier type"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:405
+msgid ""
+"You can destroy your library using this feature. Changes are "
+"permanent. There is no undo function. You are strongly encouraged to back up "
+"your library before proceeding.
Search and replace in text fields using "
+"character matching or regular expressions. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:413
+msgid ""
+"In character mode, the field is searched for the entered search text. The "
+"text is replaced by the specified replacement text everywhere it is found in "
+"the specified field. After replacement is finished, the text can be changed "
+"to upper-case, lower-case, or title-case. If the case-sensitive check box is "
+"checked, the search text must match exactly. If it is unchecked, the search "
+"text will match both upper- and lower-case letters"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:424
+msgid ""
+"In regular expression mode, the search text is an arbitrary python-"
+"compatible regular expression. The replacement text can contain "
+"backreferences to parenthesized expressions in the pattern. The search is "
+"not anchored, and can match and replace multiple times on the same string. "
+"The modification functions (lower-case etc) are applied to the matched text, "
+"not to the field as a whole. The destination box specifies the field where "
+"the result after matching and replacement is to be assigned. You can replace "
+"the text in the field, or prepend or append the matched text. See this reference for more "
+"information on python's regular expressions, and in particular the 'sub' "
+"function."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:502
+msgid "S/R TEMPLATE ERROR"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:648
+msgid "You must specify a destination when source is a composite field"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:654
+msgid "You must specify a destination identifier type"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:761
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:780
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:907
+msgid "Search/replace invalid"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:762
+msgid ""
+"Authors cannot be set to the empty string. Book title %s not processed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:781
+msgid "Title cannot be set to the empty string. Book title %s not processed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:908
+msgid "Search pattern is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:960
+msgid ""
+"Applying changes to %d books.\n"
+"Phase {0} {1}%%."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:990
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:587
+msgid "Delete saved search/replace"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:991
+msgid "The selected saved search/replace will be deleted. Are you sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1008
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1016
+msgid "Save search/replace"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1009
+msgid "Search/replace name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017
+msgid ""
+"That saved search/replace already exists and will be overwritten. Are you "
+"sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:524
+msgid "Edit Meta information"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:526
+msgid "A&utomatically set author sort"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:527
+msgid "&Swap title and author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:528
+msgid "Author s&ort: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:529
+msgid ""
+"Specify how the author(s) of this book should be sorted. For example Charles "
+"Dickens should be sorted as Dickens, Charles."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:530
+#: /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:890
+msgid "Rating of this book. 0-5 stars"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:533
+msgid "No change"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:534
+msgid " stars"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:536
+msgid "Add ta&gs: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:539
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:166
+msgid "Open Tag Editor"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:540
+msgid "&Remove tags:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:541
+msgid "Comma separated list of tags to remove from the books. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:542
+msgid "Check this box to remove all tags from the books."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:543
+msgid "Remove &all"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:547
+msgid "If checked, the series will be cleared"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:548
+msgid "&Clear series"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:549
+msgid ""
+"If not checked, the series number for the books will be set to 1.\n"
+"If checked, selected books will be automatically numbered, in the order\n"
+"you selected them. So if you selected Book A and then Book B,\n"
+"Book A will have series number 1 and Book B series number 2."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:553
+msgid "&Automatically number books in this series"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:554
+msgid ""
+"Series will normally be renumbered from the highest number in the database\n"
+"for that series. Checking this box will tell calibre to start numbering\n"
+"from the value in the box"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:557
+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:1123
+msgid "&Date:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:559
+msgid "d MMM yyyy"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:561
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:566
+msgid "&Apply date"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:562
+msgid "&Published:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:564
+msgid "Clear published date"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:567
+msgid "Remove &format:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:568
+msgid ""
+"Force the title to be in title case. If both this and swap authors are "
+"checked,\n"
+"title and author are swapped before the title case is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:570
+msgid "Change title to title &case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:571
+msgid ""
+"Update title sort based on the current title. This will be applied only "
+"after other changes to title."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:572
+msgid "Update &title sort"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:573
+msgid ""
+"Remove stored conversion settings for the selected books.\n"
+"\n"
+"Future conversion of these books will use the default settings."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:576
+msgid "Remove &stored conversion settings for the selected books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:577
+msgid "Change &cover"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:578
+msgid "&Generate default cover"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:579
+msgid "&Remove cover"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:580
+msgid "Set from &ebook file(s)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:581
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:495
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:659
+msgid "&Basic metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:582
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:502
+msgid "&Custom metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:583
+msgid "Load searc&h/replace:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:584
+msgid "Select saved search/replace to load."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:585
+msgid "Save current search/replace"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:586
+msgid "Sa&ve"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:588
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:64
+msgid "Delete"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:589
+msgid "Search &field:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:590
+msgid "The name of the field that you want to search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:591
+msgid "Search &mode:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:592
+msgid ""
+"Choose whether to use basic text matching or advanced regular expression "
+"matching"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:593
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:615
+msgid "Identifier type:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:594
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:616
+msgid "Choose which identifier type to operate upon"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:595
+msgid "Te&mplate:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:596
+msgid "Enter a template to be used as the source for the search/replace"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:598
+msgid ""
+"Enter the what you are looking for, either plain text or a regular "
+"expression, depending on the mode"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:599
+msgid ""
+"Check this box if the search string must match exactly upper and lower case. "
+"Uncheck it if case is to be ignored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:600
+msgid "Cas&e sensitive"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:601
+msgid "&Replace with:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:602
+msgid ""
+"The replacement text. The matched search text will be replaced with this "
+"string"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:603
+msgid "&Apply function after replace:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:604
+msgid ""
+"Specify how the text is to be processed after matching and replacement. In "
+"character mode, the entire\n"
+"field is processed. In regular expression mode, only the matched text is "
+"processed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:606
+msgid "&Destination field:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:607
+msgid ""
+"The field that the text will be put into after all replacements.\n"
+"If blank, the source field is used if the field is modifiable"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:609
+msgid "M&ode:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:610
+msgid "Specify how the text should be copied into the destination."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:611
+msgid ""
+"Specifies whether result items should be split into multiple values or\n"
+"left as single values. This option has the most effect when the source field "
+"is\n"
+"not multiple and the destination field is multiple"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:614
+msgid "Split &result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:617
+msgid "For multiple-valued fields, sho&w"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:618
+msgid "values starting a&t"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:619
+msgid "with values separated b&y"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:620
+msgid ""
+"Used when displaying test results to separate values in multiple-valued "
+"fields"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:621
+msgid "Test text"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:622
+msgid "Test result"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:623
+msgid "Your test:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:624
+msgid "&Search and replace"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:61
+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: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: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:216
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:81
+msgid "&Show password"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:59
+msgid "Aborting..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:23
+msgid ""
+"Restoring database from backups, do not interrupt, this will happen in three "
+"stages"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:25
+msgid "Restoring database"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:79
+msgid ""
+"Your list of books, with all their metadata is stored in a single file, "
+"called a database. In addition, metadata for each individual book is stored "
+"in that books' folder, as a backup.
This operation will rebuild the "
+"database from the individual book metadata. This is useful if the database "
+"has been corrupted and you get a blank list of books. Note that restoring "
+"only restores books, not any settings stored in the database, or any custom "
+"recipes.
Do you want to restore the database?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:102
+msgid "Restoring database failed, click Show details to see details"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:107
+msgid ""
+"Restoring the database succeeded with some warnings click Show details to "
+"see the details."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:112
+msgid "Restoring database was successful"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:75
+msgid "Saved search already exists"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:49
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:76
+msgid "The saved search %s already exists, perhaps with different case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:62
+msgid ""
+"The current saved search will be permanently deleted. Are you sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:94
+msgid "Saved Search Editor"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:95
+msgid "Saved Search: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:96
+msgid "Select a saved search to edit"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:97
+msgid "Delete this selected saved search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:99
+msgid "Enter a new saved search name."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:100
+msgid "Add the new saved search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:102
+msgid "Rename the current search to what is in the box"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:104
+msgid "Change the contents of the saved search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:42
+msgid ""
+" Download this periodical every week on the specified days "
+"after\n"
+" the specified time. For example, if you choose: Monday "
+"after\n"
+" 9:00 AM, then the periodical will be download every Monday "
+"as\n"
+" soon after 9:00 AM as possible.\n"
+" "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:61
+msgid "&Download after:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:91
+msgid ""
+" Download this periodical every month, on the specified "
+"days.\n"
+" The download will happen as soon after the specified time "
+"as\n"
+" possible on the specified days of each month. For example,\n"
+" if you choose the 1st and the 15th after 9:00 AM, the\n"
+" periodical will be downloaded on the 1st and 15th of every\n"
+" month, as soon after 9:00 AM as possible.\n"
+" "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:103
+msgid "&Days of the month:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:105
+msgid "Comma separated list of days of the month. For example: 1, 15"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:109
+msgid "Download &after:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:142
+msgid ""
+" Download this periodical every x days. For example, if you\n"
+" choose 30 days, the periodical will be downloaded every 30\n"
+" days. Note that you can set periods of less than a day, "
+"like\n"
+" 0.1 days to download a periodical more than once a day.\n"
+" "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:151
+msgid "&Download every:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:154
+msgid "every hour"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:157
+msgid "days"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:161
+msgid ""
+"Note: You can set intervals of less than a day, by typing the value manually."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:196
+msgid "%s news sources"
+msgstr ""
+
+#: /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:311
+msgid "You must provide a username and/or password to use this news source."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:346
+msgid "Account"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:347
+msgid "(optional)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:348
+msgid "(required)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:365
+msgid "Created by: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:372
+msgid "Last downloaded: never"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:373
+msgid "never"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:379
+msgid "%d days, %d hours and %d minutes ago"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:393
+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:206
+msgid "Schedule news download"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:424
+msgid "Add a custom news source"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:429
+msgid "Download all scheduled new sources"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:534
+msgid "No internet connection"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:535
+msgid "Cannot download news as no internet connection is active"
+msgstr ""
+
+#: /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 "blurb"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:209
+msgid "&Schedule for download:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:210
+msgid "Days of week"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:211
+msgid "Days of month"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212
+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: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:226
+msgid "all issues"
+msgstr ""
+
+#: /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:228
+msgid "&Advanced"
+msgstr ""
+
+#: /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:230
+msgid "&Delete downloaded news older than:"
+msgstr ""
+
+#: /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:233
+msgid "never delete"
+msgstr ""
+
+#: /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:235
+msgid "Download all scheduled news sources at once"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:236
+msgid "Download &all scheduled"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:41
+msgid "contains"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:42
+msgid "The text to search for. It is interpreted as a regular expression."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:43
+msgid ""
+"
Negate this match. That is, only return results that do not match "
+"this query."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:44
+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:206
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:168
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:186
+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:207
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:169
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:187
+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:208
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:170
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:188
+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:209
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:171
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:189
+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:210
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:172
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:190
+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:211
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:173
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:191
+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:212
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:174
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:192
+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:213
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:193
+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:214
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:194
+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:215
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:177
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:195
+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:216
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:178
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:196
+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:217
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:197
+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:218
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:180
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:198
+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:220
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:182
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:200
+msgid "Enter the title."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:213
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:183
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:201
+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:930
+msgid "Ta&gs:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:216
+msgid "Enter an author's name. Only one author can be used."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:217
+msgid ""
+"Enter a series name, without an index. Only one series name can be used."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:218
+msgid "Enter tags separated by spaces"
+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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:184
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:203
+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:224
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:185
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:204
+msgid "Search only in specific fields:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:221
+msgid "Titl&e/Author/Series ..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:45
+msgid "Choose formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:146
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:102
+msgid "Authors"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:136
+msgid "Publishers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:143
+msgid " (not on any book)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:146
+msgid "Category lookup name: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222
+msgid "Invalid name"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:223
+msgid ""
+"That name contains leading or trailing periods, multiple periods in a row or "
+"spaces before or after periods."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
+msgid "Name already used"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:201
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:231
+msgid "That name is already used, perhaps with different case."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:244
+msgid ""
+"The current tag category will be permanently deleted. Are you sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:166
+msgid "User Categories Editor"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:167
+msgid "Category name: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:168
+msgid "Select a category to edit"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:169
+msgid "Delete this selected tag category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:171
+msgid "Enter a category name, then use the add button or the rename button"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:172
+msgid "Add a new category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:174
+msgid "Rename the current category to the what is in the box"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:176
+msgid "Category filter: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:177
+msgid "Select the content kind of the new category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:178
+msgid "A&vailable items"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:179
+msgid "Apply tags to current tag category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:181
+msgid "A&pplied items"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:182
+msgid "Unapply (remove) tag from current tag category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:111
+msgid "Are your sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:71
+msgid ""
+"The following tags are used by one or more books. Are you certain you want "
+"to delete them?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:128
+msgid "Tag Editor"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:129
+msgid "A&vailable tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:130
+msgid ""
+"Delete tag from database. This will unapply the tag from all books and then "
+"remove it from the database."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:132
+msgid "Apply tag to current book"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:134
+msgid "A&pplied tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:135
+msgid "Unapply (remove) tag from current book"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:137
+msgid "&Add tag:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:138
+msgid ""
+"If the tag you want is not in the available list, you can add it here. "
+"Accepts a comma separated list of tags."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:139
+msgid "Add tag to available tags and apply it to current book"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:21
+msgid "%s (was %s)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:85
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1385
+msgid "Item is blank"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:86
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1386
+msgid "An item cannot be set to nothing. Delete it instead."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:99
+msgid "No item selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:100
+msgid "You must select one item from the list of Available items."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:107
+msgid "No items selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:108
+msgid "You must select at least one items from the list."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:112
+msgid "Are you certain you want to delete the following items?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:77
+msgid "Category Editor"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78
+msgid "Items in use"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:79
+msgid ""
+"Delete item from database. This will unapply the item from all books and "
+"then remove it from the database."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:81
+msgid "Rename the item in every book where it is used."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:106
+msgid "Ctrl+S"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
+msgid "EXCEPTION: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
+msgid "Function &name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
+msgid "&Documentation:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
+msgid "Python &code:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:41
+#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
+msgid "Edit template"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:56
+msgid "Test email settings"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:57
+msgid "Send test mail from %s to:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:134
+msgid "&Test"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub.py:100
+msgid "Cannot preview"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub.py:101
+msgid "You must first explode the epub before previewing."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:61
+msgid ""
+"
Explode the ePub to display contents in a file browser window. To tweak "
+"individual files, right-click, then 'Open with...' your editor of choice. "
+"When tweaks are complete, close the file browser window and the editor "
+"windows you used to edit files in the epub.
Rebuild the ePub, "
+"updating your calibre library.
"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:62
+msgid "Display contents of exploded ePub"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:63
+msgid "&Explode ePub"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:64
+msgid "Discard changes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:66
+msgid "Rebuild ePub from exploded contents"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:67
+msgid "&Rebuild ePub"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:68
+msgid "&Preview ePub"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:141
+msgid "No recipe selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:146
+msgid "The attached file: %s is a recipe to download %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:147
+msgid "Recipe for "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:164
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:265
+msgid "Switch to Advanced mode"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:170
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:178
+msgid "Switch to Basic mode"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:188
+msgid "Feed must have a title"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:189
+msgid "The feed must have a title"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:193
+msgid "Feed must have a URL"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:194
+msgid "The feed %s must have a URL"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:200
+msgid "This feed has already been added to the recipe"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:241
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:250
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:337
+msgid "Invalid input"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:242
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:251
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:338
+msgid "
Create a basic news "
+"recipe, by adding RSS feeds to it. For most feeds, you will have to "
+"use the \"Advanced mode\" to further customize the fetch "
+"process.
"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:270
+msgid "Recipe &title:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:271
+msgid "&Oldest article:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:272
+msgid "The oldest article to download"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:274
+msgid "&Max. number of articles per feed:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:275
+msgid "Maximum number of articles to download per feed."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:276
+msgid "Feeds in recipe"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:278
+msgid "Remove feed from recipe"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:281
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:284
+msgid "Add feed to recipe"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:282
+msgid "&Feed title:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:283
+msgid "Feed &URL:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:285
+msgid "&Add feed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:286
+msgid ""
+"For help with writing advanced news recipes, please visit User Recipes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:287
+msgid "Recipe source code (python)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:51
+msgid "Download %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:54
+msgid "Downloading %s from %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:85
+msgid "Failed to download from %r with error: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:41
+msgid "No file specified to download."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:66
+msgid "Not a support ebook format."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:87
+msgid "Downloading %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:99
+msgid "Downloading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:103
+msgid "Failed to download ebook"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:91
+msgid "Email %s to %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:110
+msgid "News:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:112
+msgid "Attached is the %s periodical downloaded by calibre."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160
+msgid "E-book:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:168
+msgid "Attached, you will find the e-book"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:169
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:189
+msgid "by"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:170
+msgid "in the %s format."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:184
+msgid "Sending email to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215
+msgid "Auto convert the following books before sending via email?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:222
+msgid ""
+"Could not email the following books as no suitable formats were found:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:228
+msgid "Failed to email book"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231
+msgid "sent"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254
+msgid "Sent news to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:129
+msgid ""
+"
\n"
+"
Set a regular expression pattern to use when trying to guess ebook "
+"metadata from filenames.
\n"
+"
A tutorial on "
+"using regular expressions is available.
\n"
+"
Use the Test functionality below to test your regular expression "
+"on a few sample filenames (remember to include the file extension). The "
+"group names for the various metadata entries are documented in "
+"tooltips.
Search the list of books by title, author, publisher, tags, comments, "
+"etc.
Words separated by spaces are ANDed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:195
+msgid "&Go!"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:201
+msgid "Do Quick Search (you can also press the Enter key)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:207
+msgid "Reset Quick Search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:223
+msgid "Copy current search text (instead of search name)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:388
+msgid "Y"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
+#: /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:68
+msgid "Size (MB)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
+msgid "Modified"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
+#: /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:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
+msgid "This book's UUID is \"{0}\""
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
+msgid "In Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
+msgid "Size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
+msgid "Marked for deletion"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
+msgid "Double click to edit me
"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:159
+msgid "Hide column %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:164
+msgid "Sort on %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:165
+msgid "Ascending"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:168
+msgid "Descending"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:180
+msgid "Change text alignment for %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:182
+msgid "Left"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:182
+msgid "Right"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:183
+msgid "Center"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:202
+msgid "Show column"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:214
+msgid "Restore default layout"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:858
+msgid ""
+"Dropping onto a device is not supported. First add the book to the calibre "
+"library."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:52
+msgid "Configure Viewer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:53
+msgid "Use white background"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:54
+msgid "Hyphenate"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:55
+msgid "Changes will only take effect after a restart."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:70
+msgid " - LRF Viewer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
+msgid "No matches for the search phrase %s were found."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:128
+msgid "LRF Viewer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:129
+msgid "Parsing LRF file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:130
+msgid "LRF Viewer toolbar"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:559
+msgid "Next Page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:560
+msgid "Previous Page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:193
+msgid "Back"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:194
+msgid "Forward"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:135
+msgid "Next match"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201
+msgid "Open ebook"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:137
+msgid "Configure"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:33
+msgid "Use the library located at the specified path."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:35
+msgid "Start minimized to system tray."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:37
+msgid "Log debugging information to console"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:39
+msgid "Do not check for updates"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:41
+msgid ""
+"Ignore custom plugins, useful if you installed a plugin that is preventing "
+"calibre from starting"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:45
+msgid ""
+"Cause a running calibre instance, if any, to be shutdown. Note that if there "
+"are running jobs, they will be silently aborted, so use with care."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:678
+msgid "Calibre Library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:96
+msgid "Choose a location for your calibre e-book library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:105
+msgid "Failed to create library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:106
+msgid "Failed to create calibre library at: %r."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:109
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:195
+msgid "Choose a location for your new calibre e-book library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:164
+msgid "Initializing user interface..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189
+msgid "Repairing failed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190
+msgid "The database repair failed. Starting with a new empty library."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:204
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:236
+msgid "Bad database location"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:205
+msgid "Bad database location %r. calibre will now quit."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:217
+msgid "Corrupted database"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:218
+msgid ""
+"Your calibre database appears to be corrupted. Do you want calibre to try "
+"and repair it automatically? If you say No, a new empty calibre library will "
+"be created."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:224
+msgid ""
+"Repairing database. This can take a very long time for a large collection"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:237
+msgid ""
+"Bad database location %r. Will start with a new, empty calibre library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:247
+msgid "Starting %s: Loading books..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:327
+msgid "If you are sure it is not running"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:330
+msgid "may be running in the system tray, in the"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:332
+msgid "upper right region of the screen."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:334
+msgid "lower right region of the screen."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:337
+msgid "try rebooting your computer."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:339
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:353
+msgid "try deleting the file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:342
+msgid "Cannot Start "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main.py:343
+msgid "%s is already running."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:25
+msgid ""
+"Redirect console output to a dialog window (both stdout and stderr). Useful "
+"on windows where GUI apps do not have a output streams."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:113
+msgid "&Preferences"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:114
+msgid "&Quit"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:138
+msgid "Unhandled exception"
+msgstr ""
+
+#: /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:134
+msgid "Title &sort:"
+msgstr ""
+
+#: /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: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:192
+msgid "Authors changed"
+msgstr ""
+
+#: /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: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:279
+msgid "Author s&ort:"
+msgstr ""
+
+#: /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: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:433
+msgid "&Number:"
+msgstr ""
+
+#: /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:531
+msgid "Set the cover for the book from the selected format"
+msgstr ""
+
+#: /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:546
+msgid "Add a format to this book"
+msgstr ""
+
+#: /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:619
+msgid "Choose formats for "
+msgstr ""
+
+#: /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:652
+msgid "You do not have permission to read the following files:"
+msgstr ""
+
+#: /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:694
+msgid "Could not read metadata"
+msgstr ""
+
+#: /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:714
+msgid "&Browse"
+msgstr ""
+
+#: /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:718
+msgid "&Remove"
+msgstr ""
+
+#: /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:725
+msgid "&Generate cover"
+msgstr ""
+
+#: /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:799
+msgid "Specify title and author"
+msgstr ""
+
+#: /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:818
+msgid "Invalid cover"
+msgstr ""
+
+#: /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:846
+msgid "This book has no cover"
+msgstr ""
+
+#: /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:897
+msgid "stars"
+msgstr ""
+
+#: /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: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:993
+msgid "I&ds:"
+msgstr ""
+
+#: /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:1055
+msgid "This ISBN number is valid"
+msgstr ""
+
+#: /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:1072
+msgid "&Publisher:"
+msgstr ""
+
+#: /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:1174
+msgid "Publishe&d:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:34
+msgid "Schedule download?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:45
+msgid ""
+"The download of metadata for the %d selected book(s) will run in the "
+"background. Proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:47
+msgid ""
+"You can monitor the progress of the download by clicking the rotating "
+"spinner in the bottom right corner."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:50
+msgid ""
+"When the download completes you will be asked for confirmation before "
+"calibre applies the downloaded metadata."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:61
+msgid "Download only &metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:65
+msgid "Download only &covers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:69
+msgid "&Configure download"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:73
+msgid "Download &both"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:99
+msgid "Download metadata for %d books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:102
+msgid "Metadata download started"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:111
+msgid "(Failed metadata)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:113
+msgid "(Failed cover)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:190
+msgid "Downloaded %d of %d"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/config.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:115
+msgid "Downloaded metadata fields"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
+#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
+#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
+msgid "Next"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:55
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106
+#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:221
+#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:384
+msgid "Previous"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:80
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:265
+msgid "Edit Metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:101
+msgid ""
+"Automatically create the title sort entry based on the current title entry.\n"
+"Using this button to create title sort will change title sort from red to "
+"green."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:112
+msgid ""
+"Automatically create the author sort entry based on the current author "
+"entry. Using this button to create author sort will change author sort from "
+"red to green. There is a menu of functions available under this button. "
+"Click and hold on the button to see it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:118
+msgid "Set author sort from author"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:119
+msgid "Set author from author sort"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:129
+msgid "Swap the author and title"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:135
+msgid ""
+"Manage authors. Use to rename authors and correct individual author's sort "
+"values"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:143
+msgid "Remove unused series (Series that have no books)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:178
+msgid ""
+"Paste the contents of the clipboard into the identifiers box prefixed with "
+"isbn:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:191
+msgid "&Download metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:202
+msgid "Configure download metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:206
+msgid "Change how calibre downloads metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:313
+msgid "Could not read cover"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:307
+msgid "Could not read cover from %s format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:314
+msgid "The cover in the %s format is invalid"
+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"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:545
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:747
+msgid "Change cover"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:602
+msgid "Co&mments"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:642
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:788
+msgid "&Metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:647
+msgid "&Cover and formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:716
+msgid "C&ustom metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:728
+msgid "&Comments"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:794
+msgid "Basic metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
+msgid "Has cover"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
+msgid "Has summary"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
+msgid ""
+"The has cover indication is not fully\n"
+"reliable. Sometimes results marked as not\n"
+"having a cover will find a cover in the download\n"
+"cover stage, and vice versa."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
+msgid "See at"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
+msgid "calibre is downloading metadata from: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
+msgid "Please wait"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
+msgid "Query: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
+msgid "Failed to download metadata. Click Show Details to see details"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
+msgid ""
+"Failed to find any books that match your search. Try making the search "
+"less specific. For example, use only the author's last name and a "
+"single distinctive word from the title.
To see the full log, click Show "
+"Details."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
+msgid "Current cover"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
+msgid "Searching..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
+msgid "Downloading covers for %s, please wait..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
+msgid "Failed to download any covers, click \"Show details\" for details."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
+msgid "Could not find any covers for %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
+msgid "Found %d covers of %s. Pick the one you like best."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
+msgid "Downloading metadata..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
+msgid "Downloading cover..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:37
+msgid ""
+"Restore settings to default values. You have to click Apply to actually save "
+"the default settings."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:328
+msgid "Configure "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:28
+msgid "Ignore duplicate incoming formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:29
+msgid "Overwrite existing duplicate formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:30
+msgid "Create new record for each duplicate format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:65
+msgid ""
+"Here you can control how calibre will read metadata from the files you add "
+"to it. calibre can either read metadata from the contents of the file, or "
+"from the filename."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:66
+msgid "Read &metadata from &file contents rather than file name"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:67
+msgid ""
+"Swap the firstname and lastname of the author. This affects only metadata "
+"read from file names."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:68
+msgid "&Swap author firstname and lastname"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:69
+msgid ""
+"Automerge: If books with similar titles and authors found, merge the "
+"incoming formats automatically into\n"
+"existing book records. The box to the right controls what happens when an "
+"existing record already has\n"
+"the incoming format. Note that this option also affects the Copy to library "
+"action.\n"
+"\n"
+"Title match ignores leading indefinite articles (\"the\", \"a\", \"an\"), "
+"punctuation, case, etc. Author match is exact."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:74
+msgid "&Automerge added books if they already exist in the calibre library:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:75
+msgid ""
+"Automerge: If books with similar titles and authors found, merge the "
+"incoming formats automatically into\n"
+"existing book records. This box controls what happens when an existing "
+"record already has\n"
+"the incoming format: \n"
+"\n"
+"Ignore duplicate incoming files - means that existing files in your calibre "
+"library will not be replaced\n"
+"Overwrite existing duplicate files - means that existing files in your "
+"calibre library will be replaced\n"
+"Create new record for each duplicate file - means that a new book entry will "
+"be created for each duplicate file\n"
+"\n"
+"Title matching ignores leading indefinite articles (\"the\", \"a\", \"an\"), "
+"punctuation, case, etc.\n"
+"Author matching is exact."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:85
+msgid "&Tags to apply when adding a book:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:86
+msgid ""
+"A comma-separated list of tags that will be applied to books added to the "
+"library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:87
+msgid "&Configure metadata from file name"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:160
+msgid "Low"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:159
+msgid "High"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36
+msgid "Very low"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
+msgid "Compact Metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
+msgid "All on 1 tab"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:165
+msgid "Done"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166
+msgid "Confirmation dialogs have all been reset"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:147
+msgid "Show notification when &new version is available"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:148
+msgid ""
+"If checked, Yes/No custom columns values can be Yes, No, or Unknown.\n"
+"If not checked, the values can be Yes or No."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:150
+msgid "Yes/No columns have three values (Requires restart)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:151
+msgid "Automatically send downloaded &news to ebook reader"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:152
+msgid "&Delete news from library when it is automatically sent to reader"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:153
+msgid "Preferred &output format:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:154
+msgid "Default network &timeout:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:155
+msgid ""
+"Set the default timeout for network fetches (i.e. anytime we go out to the "
+"internet to get information)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:156
+msgid " seconds"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:157
+msgid "Job &priority:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:161
+msgid "Restriction to apply when the current library is opened:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:162
+msgid ""
+"Apply this restriction on calibre startup if the current library is being "
+"used. Also applied when switching to this library. Note that this setting is "
+"per library. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:163
+msgid "Edit metadata (single) layout:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:164
+msgid ""
+"Choose a different layout for the Edit Metadata dialog. The compact metadata "
+"layout favors editing custom metadata over changing covers and formats."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
+msgid "Preferred &input format order:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168
+msgid "Use internal &viewer for:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169
+msgid "Reset all disabled &confirmation dialogs"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
+msgid "You must select a column to delete it"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:101
+msgid "The selected column is not a custom column"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:103
+msgid "Do you really want to delete column %s and all its data?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:82
+msgid ""
+"Here you can re-arrange the layout of the columns in the calibre library "
+"book list. You can hide columns by unchecking them. You can also create your "
+"own, custom columns."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:88
+msgid "Move column up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:90
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:84
+msgid "Remove a user-defined column"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:86
+msgid "Add a user-defined column"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:88
+msgid "Edit settings of a user-defined column"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:96
+msgid "Move column down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:98
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:91
+msgid "Add &custom column"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/conversion.py:41
+msgid ""
+"Restore settings to default values. Only settings for the currently selected "
+"section are restored."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:18
+msgid "Text, column shown in the tag browser"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:21
+msgid "Comma separated text, like tags, shown in the tag browser"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:24
+msgid "Long text, like comments, not shown in the tag browser"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:27
+msgid "Text column for keeping series-like information"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:30
+msgid "Text, but with a fixed set of permitted values"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:34
+msgid "Floating point numbers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:36
+msgid "Integers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:38
+msgid "Ratings, shown with stars"
+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:156
+msgid "Yes/No"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:43
+msgid "Column built from other columns"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:45
+msgid "Column built from other columns, behaves like tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:53
+msgid "Create a custom column"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
+msgid "Quick create:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:65
+msgid "ISBN"
+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:155
+#: /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 ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68
+msgid "People's names"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
+msgid "Number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:73
+msgid "Text"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:89
+msgid "Edit a custom column"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:93
+msgid "No column selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:94
+msgid "No column has been selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:98
+msgid "Selected column is not a user-defined column"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:157
+msgid "My Tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:158
+msgid "My Series"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:159
+msgid "My Rating"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:160
+msgid "People"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:187
+msgid ""
+"Examples: The format {0:0>4d} gives a 4-digit number with "
+"leading zeros. The format {0:d} days prints the number "
+"then the word \"days\""
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:192
+msgid ""
+"Examples: The format {0:.1f} gives a floating point number with "
+"1 digit after the decimal point. The format "
+"Price: $ {0:,.2f} prints \"Price $ \" then "
+"displays the number with 2 digits after the decimal point and thousands "
+"separated by commas."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:201
+msgid "No lookup name was provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:205
+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:208
+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:218
+msgid "No column heading was provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:228
+msgid "The lookup name %s is already used"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:240
+msgid "The heading %s is already used"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:251
+msgid "You must enter a template for composite columns"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:260
+msgid "You must enter at least one value for enumeration columns"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:264
+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:268
+msgid "The value \"{0}\" is in the list more than once"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:276
+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:281
+msgid "The color {0} is unknown"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:217
+msgid "&Lookup name"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:218
+msgid "Column &heading"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:219
+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:220
+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:221
+msgid "&Column type"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:222
+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:223
+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"
+"Everything else will show nothing."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:226
+msgid "Show checkmarks"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:227
+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:228
+msgid "Contains names"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:229
+msgid ""
+"
Date format. Use 1-4 'd's for day, 1-4 'M's for month, and 2 or 4 'y's "
+"for year.
The format specifier must begin with {0:\n"
+"and end with } You can have text before and after the format "
+"specifier.\n"
+" "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:240
+msgid ""
+"
Default: Not formatted. For format language details see the "
+"python documentation"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:241
+msgid "Format for &dates"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:242
+msgid "Format for &numbers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:243
+msgid "&Template"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:244
+msgid "Field template. Uses the same syntax as save templates."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:245
+msgid "Similar to save templates. For example, {title} {isbn}"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:246
+msgid "Default: (nothing)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:247
+msgid "&Sort/search column by"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:248
+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:249
+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:250
+msgid "Show in tags browser"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:251
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:256
+msgid "Values"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:252
+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"
+"four values, the first of them being the empty value."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:255
+msgid "The empty string is always the first value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:257
+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:259
+msgid "Colors"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:21
+msgid "Getting debug information"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:22
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:32
+msgid "Copy to &clipboard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:24
+msgid "Debug device detection"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:31
+msgid "Getting device information"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:34
+msgid "User-defined device information"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:57
+msgid "Device Detection"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:52
+msgid "Ensure your device is disconnected, then press OK"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:58
+msgid "Ensure your device is connected, then press OK"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:88
+msgid ""
+"Copy these values to the clipboard, paste them into an editor, then enter "
+"them into the USER_DEVICE by customizing the device plugin in Preferences-"
+">Plugins. Remember to also enter the folders where you want the books to be "
+"put. You must restart calibre for your changes to take effect.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:66
+msgid ""
+"calibre can send your books to you (or your reader) by email. Emails will be "
+"automatically sent for downloaded news to all email addresses that have Auto-"
+"send checked."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:67
+msgid "Add an email address to which to send books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:68
+msgid "&Add email"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:69
+msgid "Make &default"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:70
+msgid "&Remove email"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27
+msgid "Auto send"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27
+msgid "Email"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:32
+msgid "Formats to email. The first matching format will be sent."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:33
+msgid ""
+"Subject of the email to use when sending. When left blank the title will be "
+"used for the subject. Also, the same templates used for \"Save to disk\" "
+"such as {title} and {author_sort} can be used here."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:37
+msgid ""
+"If checked, downloaded news will be automatically mailed to this email "
+"address (provided it is in one of the listed formats)."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:115
+msgid "new email address"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
+msgid "Narrow"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
+msgid "Wide"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+msgid "Off"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+msgid "Small"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
+msgid "Large"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
+msgid "Medium"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+msgid "Always"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+msgid "If there is enough room"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
+msgid "Never"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+msgid "By first letter"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+msgid "Disabled"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
+msgid "Partitioned"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
+msgid "User Interface &layout (needs restart):"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
+msgid "Choose &language (requires restart):"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
+msgid "Enable system &tray icon (needs restart)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
+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
+msgid "Disable &animations"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
+msgid "Disable ¬ifications in system tray"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
+msgid "Show &splash screen at startup"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
+msgid "&Toolbar"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
+msgid "&Icon size:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
+msgid "Show &text under icons:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
+msgid "Interface font:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
+msgid "Change &font (needs restart)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
+msgid "Main Interface"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
+msgid "Select displayed metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
+msgid "Move up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
+msgid "Move down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
+msgid "Use &Roman numerals for series"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
+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
+msgid "Tags browser category &partitioning method:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
+msgid ""
+"Choose how tag browser subcategories are displayed when\n"
+"there are more items than the limit. Select by first\n"
+"letter to see an A, B, C list. Choose partitioned to\n"
+"have a list of fixed-sized groups. Set to disabled\n"
+"if you never want subcategories"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
+msgid "&Collapse when more items than:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
+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
+msgid "Show &average ratings in the tags browser"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
+msgid "Categories with &hierarchical items:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
+msgid ""
+"A comma-separated list of columns in which items containing\n"
+"periods are displayed in the tag browser trees. For example, if\n"
+"this box contains 'tags' then tags of the form 'Mystery.English'\n"
+"and 'Mystery.Thriller' will be displayed with English and Thriller\n"
+"both under 'Mystery'. If 'tags' is not in this box,\n"
+"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
+msgid "Show cover &browser in a separate window (needs restart)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
+msgid "&Number of covers to show in browse mode (needs restart):"
+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"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:237
+msgid "Restore &defaults"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:238
+msgid "Save changes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:239
+msgid "Cancel and return to overview"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:295
+msgid "Restoring to defaults not supported for"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:330
+msgid ""
+"Some of the changes you made require a restart. Please restart calibre as "
+"soon as possible."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:333
+msgid ""
+"The changes you have made require calibre be restarted immediately. You will "
+"not be allowed set any more preferences, until you restart."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:338
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:127
+msgid "Restart needed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:47
+msgid "Source"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:49
+msgid "Cover priority"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:76
+msgid "This source is configured and ready to go"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:77
+msgid "This source needs configuration"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:148
+msgid "Published date"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:241
+msgid "Configure %s %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
+msgid "No source selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
+msgid "No source selected, cannot configure."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:110
+msgid "Metadata sources"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:111
+msgid ""
+"Disable any metadata sources you do not want by unchecking them. You can "
+"also set the cover priority. Covers from sources that have a higher "
+"(smaller) priority will be preferred when bulk downloading metadata.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:113
+msgid ""
+"Sources with a red X next to their names must be configured before they will "
+"be used. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:114
+msgid "Configure selected source"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:116
+msgid ""
+"If you uncheck any fields, metadata for those fields will not be downloaded"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:117
+msgid "&Select all"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:118
+msgid "&Clear all"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:119
+msgid "Convert all downloaded comments to plain &text"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:120
+msgid "Swap author names from FN LN to LN, FN"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:121
+msgid "Max. number of &tags to download:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:122
+msgid "Max. &time to wait after first match is found:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:123
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:199
+msgid " secs"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:124
+msgid "Max. time to wait after first &cover is found:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:126
+msgid ""
+"
Different metadata sources have different sets of tags for the same book. "
+"If this option is checked, then calibre will use the smaller tag sets. These "
+"tend to be more like genres, while the larger tag sets tend to describe the "
+"books content.\n"
+"
Note that this option will only make a practical difference if one of the "
+"metadata sources has a genre like tag set for the book you are searching "
+"for. Most often, they all have large tag sets."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:128
+msgid "Prefer &fewer tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:56
+msgid "Failed to install command line tools."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:59
+msgid "Command line tools installed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:60
+msgid "Command line tools installed in"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:61
+msgid ""
+"If you move calibre.app, you have to re-install the command line tools."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:62
+msgid "Max. simultaneous conversion/news download jobs:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:63
+msgid "Limit the max. simultaneous jobs to the available CPU &cores"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:64
+msgid "Debug &device detection"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:65
+msgid "Get information to setup the &user defined device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:66
+msgid "Open calibre &configuration directory"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:67
+msgid "&Install command line tools"
+msgstr ""
+
+#: /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:55
+msgid "Device currently connected: None"
+msgstr ""
+
+#: /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:199
+msgid "Possibly override plugboard?"
+msgstr ""
+
+#: /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: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: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:224
+msgid "Really add plugboard?"
+msgstr ""
+
+#: /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: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:246
+msgid "The {0} device does not support the {1} format."
+msgstr ""
+
+#: /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:280
+msgid "The destination field cannot be blank"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:114
+msgid ""
+"Here you can change the metadata calibre uses to update a book when saving "
+"to disk or sending to device.\n"
+"\n"
+"Use this dialog to define a 'plugboard' for a format (or all formats) and a "
+"device (or all devices). The plugboard specifies what template is connected "
+"to what field. The template is used to compute a value, and that value is "
+"assigned to the connected field.\n"
+"\n"
+"Often templates will contain simple references to composite columns, but "
+"this is not necessary. You can use any template in a source box that you can "
+"use elsewhere in calibre.\n"
+"\n"
+"One possible use for a plugboard is to alter the title to contain series "
+"information. Another would be to change the author sort, something that mobi "
+"users might do to force it to use the ';' that the kindle requires. A third "
+"would be to specify the language."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:121
+msgid "Format (choose first)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:122
+msgid "Device (choose second)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:123
+msgid "Add new plugboard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:124
+msgid "Edit existing plugboard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:125
+msgid "Existing plugboards"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:126
+msgid "Source template"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:127
+msgid "Destination field"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:128
+msgid "Save plugboard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:129
+msgid "Delete plugboard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:182
+msgid "%(plugin_type)s %(plugins)s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:183
+msgid "plugins"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:192
+msgid ""
+"\n"
+"Customization: "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:221
+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:321
+msgid "No matches"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:231
+msgid "Could not find any matching plugins"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:272
+msgid "Add plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:280
+msgid ""
+"Installing plugins is a security risk. Plugins can contain a "
+"virus/malware. Only install it if you got it from a trusted source. Are you "
+"sure you want to proceed?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
+msgid ""
+"Plugin {0} successfully installed under {1} plugins. You may "
+"have to restart calibre for the plugin to take effect."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:304
+msgid "No valid plugin path"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:305
+msgid "%s is not a valid plugin path"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:314
+msgid "Select an actual plugin under %s to customize"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:320
+msgid "Plugin cannot be disabled"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:321
+msgid "The plugin: %s cannot be disabled"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:331
+msgid "Plugin not customizable"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:332
+msgid "Plugin: %s does not need customization"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:338
+msgid "Must restart"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:339
+msgid ""
+"You must restart calibre before you can configure the %s plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
+msgid "Plugin {0} successfully removed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:352
+msgid "Cannot remove builtin plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:353
+msgid " cannot be removed. It is a builtin plugin. Try disabling it instead."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:87
+msgid ""
+"Here you can customize the behavior of Calibre by controlling what plugins "
+"it uses."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:90
+msgid "Enable/&Disable plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:91
+msgid "&Customize plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:92
+msgid "&Remove plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:93
+msgid "&Add a new plugin"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:33
+msgid "Any custom field"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:34
+msgid "The lookup name of any custom field. These names begin with \"#\")"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:57
+msgid "Constant template"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:58
+msgid ""
+"The template contains no {fields}, so all books will have the same name. Is "
+"this OK?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template_ui.py:47
+msgid "Save &template"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template_ui.py:48
+msgid ""
+"By adjusting the template below, you can control what folders the files are "
+"saved in and what filenames they are given. You can use the / character to "
+"indicate sub-folders. Available metadata variables are described below. If a "
+"particular book does not have some metadata, the variable will be replaced "
+"by the empty string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template_ui.py:49
+msgid "Available variables:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:68
+msgid ""
+"Here you can control how calibre will save your books when you click the "
+"Save to Disk button:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:69
+msgid "Save &cover separately"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:70
+msgid "Replace space with &underscores"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:71
+msgid "Update &metadata in saved copies"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:72
+msgid "Change paths to &lowercase"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:76
+msgid "Format &dates as:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:74
+msgid "File &formats to save:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:75
+msgid "Convert non-English characters to &English equivalents"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:76
+msgid "Save metadata in &OPF file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:33
+msgid ""
+"Grouped search terms are search names that permit a query to "
+"automatically search across more than one column. For example, if you create "
+"a grouped search term allseries with the value series, "
+"#myseries, #myseries2, then the query allseries:adhoc "
+"will find 'adhoc' in any of the columns series, "
+"#myseries, and #myseries2.
Enter the name of "
+"the grouped search term in the drop-down box, enter the list of columns to "
+"search in the value box, then push the Save button.
Note: Search terms "
+"are forced to lower case; MySearch and mysearch "
+"are the same term.
You can have your grouped search term show up as user "
+"categories in the Tag Browser. Just add the grouped search term names to "
+"the Make user categories from box. You can add multiple terms separated by "
+"commas. The new user category will be automatically populated with all the "
+"items in the categories included in the grouped search term.
Automatic "
+"user categories permit you to see easily all the category items that are in "
+"the columns contained in the grouped search term. Using the above "
+"allseries example, the automatically-generated user category "
+"will contain all the series mentioned in series, "
+"#myseries, and #myseries2. This can be useful to "
+"check for duplicates, to find which column contains a particular item, or to "
+"have hierarchical categories (categories that contain categories)."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:110
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:116
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:119
+msgid "Grouped Search Terms"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:97
+msgid "The search term cannot be blank"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:107
+msgid "That name is already used for a column or grouped search term"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:111
+msgid "That name is already used for user category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:117
+msgid "The value box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:129
+msgid "The empty grouped search term cannot be deleted"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:110
+msgid "Search as you &type"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:111
+msgid ""
+"&Highlight search results instead of restricting the book list to the results"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:112
+msgid "What to search by default"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:113
+msgid ""
+"When you enter a search term without a prefix, by default calibre will "
+"search all metadata for matches. For example, entering, \"asimov\" will "
+"search not just authors but title/tags/series/comments/etc. Use these "
+"options if you would like to change this behavior."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:114
+msgid "&Limit the searched metadata"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:115
+msgid "&Columns that non-prefixed searches are limited to:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:116
+msgid ""
+"Note that this option affects all searches, including saved searches and "
+"restrictions. Therefore, if you use this option, it is best to ensure that "
+"you always use prefixes in your saved searches. For example, use "
+"\"series:Foundation\" rather than just \"Foundation\" in a saved search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:117
+msgid ""
+"Clear search histories from all over calibre. Including the book list, e-"
+"book viewer, fetch news dialog, etc."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:118
+msgid "Clear search &histories"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:120
+msgid "&Names:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:121
+msgid ""
+"Contains the names of the currently-defined group search terms.\n"
+"Create a new name by entering it into the empty box, then\n"
+"pressing Save. Rename a search term by selecting it then\n"
+"changing the name and pressing Save. Change the value of\n"
+"a search term by changing the value box then pressing Save."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:126
+msgid "Delete the current search term"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:128
+msgid ""
+"Save the current search term. You can rename a search term by\n"
+"changing the name then pressing Save. You can change the value\n"
+"of a search term by changing the value box then pressing Save."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:131
+msgid "&Save"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:132
+msgid "Make &user categories from:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:133
+msgid ""
+"Enter the names of any grouped search terms you wish\n"
+"to be shown as user categories"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending.py:28
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:70
+msgid "Manual management"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending.py:29
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:71
+msgid "Only on send"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:72
+msgid "Automatic management"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:69
+msgid "Metadata &management:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:73
+msgid ""
+"
Manual management: Calibre updates the metadata and adds "
+"collections only when a book is sent. With this option, calibre will never "
+"remove a collection.
\n"
+"
Only on send: Calibre updates metadata and adds/removes "
+"collections for a book only when it is sent to the device.
\n"
+"
Automatic management: Calibre automatically keeps metadata on the "
+"device in sync with the calibre library, on every connect
"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:77
+msgid ""
+"Here you can control how calibre will save your books when you click the "
+"Send to Device button. This setting can be overriden for individual devices "
+"by customizing the device interface plugins in Preferences->Advanced->Plugins"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:422
+msgid "Failed to start content server"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:106
+msgid "Error log:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113
+msgid "Access log:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:128
+msgid "You need to restart the server for changes to take effect"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:124
+msgid "Server &port:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:127
+msgid ""
+"If you leave the password blank, anyone will be able to access your book "
+"collection using the web interface."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:128
+msgid ""
+"The maximum size (widthxheight) for displayed covers. Larger covers are "
+"resized. "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:129
+msgid "Max. &cover size:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:131
+msgid "Max. &OPDS items per query:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:132
+msgid "Max. OPDS &ungrouped items:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:133
+msgid "Restriction (saved search) to apply:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:134
+msgid ""
+"This restriction (based on a saved search) will restrict the books the "
+"content server makes available to those matching the search. This setting is "
+"per library (i.e. you can have a different restriction per library)."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:135
+msgid "&Start Server"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:136
+msgid "St&op Server"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:137
+msgid "&Test Server"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:138
+msgid ""
+"calibre contains a network server that allows you to access your book "
+"collection using a browser from anywhere in the world. Any changes to the "
+"settings will only take effect after a server restart."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:139
+msgid "Run server &automatically on startup"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:140
+msgid "View &server logs"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:51
+msgid ""
+"
Remember to leave calibre running as the server only runs as long as "
+"calibre is running.\n"
+"
Stanza should see your calibre collection automatically. If not, try "
+"adding the URL http://myhostname:8080 as a new catalog in the Stanza reader "
+"on your iPhone. Here myhostname should be the fully qualified hostname or "
+"the IP address of the computer calibre is running on."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
+msgid ""
+"\n"
+"
Here you can add and remove functions used in template "
+"processing. A\n"
+" template function is written in python. It takes information from "
+"the\n"
+" book, processes it in some way, then returns a string result. "
+"Functions\n"
+" defined here are usable in templates in the same way that builtin\n"
+" functions are usable. The function must be named evaluate, "
+"and\n"
+" must have the signature shown below.
\n"
+"
evaluate(self, formatter, kwargs, mi, locals, your "
+"parameters)\n"
+" → returning a unicode string
\n"
+"
The parameters of the evaluate function are:\n"
+"
\n"
+"
formatter: the instance of the formatter being used to\n"
+" evaluate the current template. You can use this to do recursive\n"
+" template evaluation.
\n"
+"
kwargs: a dictionary of metadata. Field values are in "
+"this\n"
+" dictionary.\n"
+"
mi: a Metadata instance. Used to get field information.\n"
+" This parameter can be None in some cases, such as when evaluating\n"
+" non-book templates.
\n"
+"
locals: the local variables assigned to by the current\n"
+" template program.
\n"
+"
your parameters: You must supply one or more formal\n"
+" parameters. The number must match the arg count box, unless arg "
+"count is\n"
+" -1 (variable number or arguments), in which case the last argument "
+"must\n"
+" be *args. At least one argument is required, and is usually the "
+"value of\n"
+" the field being operated upon. Note that when writing in basic "
+"template\n"
+" mode, the user does not provide this first argument. Instead it is\n"
+" supplied by the formatter.
\n"
+"
\n"
+"
\n"
+" The following example function checks the value of the field. If "
+"the\n"
+" field is not empty, the field's value is returned, otherwise the "
+"value\n"
+" EMPTY is returned.\n"
+"
\n"
+" name: my_ifempty\n"
+" arg count: 1\n"
+" doc: my_ifempty(val) -- return val if it is not empty, otherwise the "
+"string 'EMPTY'\n"
+" program code:\n"
+" def evaluate(self, formatter, kwargs, mi, locals, val):\n"
+" if val:\n"
+" return val\n"
+" else:\n"
+" return 'EMPTY'
\n"
+" This function can be called in any of the three template program "
+"modes:\n"
+"
\n"
+"
single-function mode: {tags:my_ifempty()}
\n"
+"
template program mode: {tags:'my_ifempty($)'}
\n"
+"
general program mode: program: my_ifempty(field('tags'))
\n"
+" \n"
+" "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
+msgid "Template functions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
+msgid "You cannot delete a built-in function"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
+msgid "Function not defined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
+msgid "Exception while compiling function"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
+msgid "function source code not available"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:96
+msgid "&Function:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:97
+msgid "Enter the name of the function to create."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:98
+msgid "Arg &count:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:99
+msgid "Set this to -1 if the function takes a variable number of arguments"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:102
+msgid "&Delete"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:103
+msgid "&Replace"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:104
+msgid "C&reate"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:105
+msgid "&Program Code: (be sure to follow python indenting rules)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36
+msgid "Switch between library and device views"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:41
+msgid "Separator"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:58
+msgid "Choose library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:219
+msgid "The main toolbar"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:220
+msgid "The main toolbar when a device is connected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:221
+msgid "The optional second toolbar"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:222
+msgid "The menubar"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:223
+msgid "The menubar when a device is connected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:224
+msgid "The context menu for the books in the calibre library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:226
+msgid "The context menu for the books on the device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:260
+msgid "Cannot add"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:261
+msgid "Cannot add the actions %s to this location"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:279
+msgid "Cannot remove"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:280
+msgid "Cannot remove the actions %s from this location"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:99
+msgid "Customize the actions in:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:100
+msgid "A&vailable actions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:101
+msgid "&Current actions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:102
+msgid "Move selected action up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:104
+msgid "Move selected action down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:107
+msgid "Add selected actions to toolbar"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:109
+msgid "Remove selected actions from toolbar"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:114
+msgid "This tweak has it default value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:116
+msgid "This tweak has been customized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:237
+msgid ""
+"Add/edit tweaks for any custom plugins you have installed. Documentation for "
+"these tweaks should be available on the website from where you downloaded "
+"the plugins."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:318
+msgid ""
+"There was a syntax error in your tweak. Click the show details button for "
+"details."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:331
+msgid "Invalid tweaks"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:332
+msgid ""
+"The tweaks you entered are invalid, try resetting the tweaks to default and "
+"changing them one by one until you find the invalid setting."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:88
+msgid ""
+"Values for the tweaks are shown below. Edit them to change the behavior of "
+"calibre. Your changes will only take effect after a restart of "
+"calibre."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:89
+msgid "Edit tweaks for any custom plugins you have installed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:90
+msgid "&Plugin tweaks"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:92
+msgid "Edit tweak"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:93
+msgid "Restore this tweak to its default value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:94
+msgid "Restore &default"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:95
+msgid "Apply any changes you made to this tweak"
+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:80
+#: /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: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
+msgid "Search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:339
+msgid "Delete current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:340
+msgid "No search is selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:342
+msgid "The selected search will be permanently deleted. Are you sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:367
+msgid "Search (For Advanced Search click the button to the left)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:390
+msgid "Enable or disable search highlighting."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:445
+msgid "Saved Searches"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:447
+msgid "Choose saved search or enter name for new saved search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:453
+msgid ""
+"Save current search under the name shown in the box. Press and hold for a "
+"pop-up options menu."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:458
+msgid "Create saved search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:462
+msgid "Delete saved search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:466
+msgid "Manage saved searches"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:476
+msgid "*Current search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12
+msgid "Restrict to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:92
+msgid "(all books)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21
+msgid ""
+"Books display will be restricted to those matching a selected saved search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:53
+msgid " or the search "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:87
+msgid "({0} of {1})"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:94
+msgid "({0} of all)"
+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/config/chooser/chooser_widget_ui.py:83
+#: /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"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:59
+msgid "Press a key..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:80
+msgid "Already assigned"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:82
+msgid "already assigned to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
+msgid " or "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:134
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:74
+msgid "&Default"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:136
+msgid "Customize shortcuts for"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
+msgid "Keys"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:225
+msgid "Double click to change"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:73
+msgid "Frame"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:75
+msgid "&Custom"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:76
+msgid "&Shortcut:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:82
+msgid "Click to change"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:81
+msgid "&Alternate shortcut:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:38
+msgid "Added Tags:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:39
+msgid "Open store in external web browswer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:219
+msgid "&Name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:221
+msgid "&Description:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:222
+msgid "&Headquarters:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:226
+msgid "Enabled:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:227
+msgid "DRM:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:228
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:230
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:233
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:207
+msgid "true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:229
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:231
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:234
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:208
+msgid "false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:232
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:206
+msgid "Affiliate:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:235
+msgid "Nam&e/Description ..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78
+#: /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/chooser_widget_ui.py:81
+msgid "Enable"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82
+#: /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/config/chooser/chooser_widget_ui.py:84
+#: /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/config/chooser/models.py:21
+msgid "Affiliate"
+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:129
+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:131
+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:136
+msgid "This store only distributes ebooks with DRM."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:138
+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:140
+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:143
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203
+msgid "Buying from this store supports the calibre developer: %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:145
+msgid "This store distributes ebooks in the following formats: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/results_view.py:47
+msgid "Configure..."
+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 ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:179
+msgid ""
+"See the User Manual for more help"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:209
+msgid "Titl&e/Author/Price ..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/cache_progress_dialog_ui.py:51
+msgid "Updating book cache"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/cache_update_thread.py:42
+msgid "Checking last download date."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/cache_update_thread.py:48
+msgid "Downloading book list from MobileRead."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/cache_update_thread.py:61
+msgid "Processing books."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/cache_update_thread.py:70
+msgid "%s of %s books processed."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/mobileread_plugin.py:62
+msgid "Updating MobileRead book cache..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/store_dialog_ui.py:74
+msgid "&Query:"
+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: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"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:62
+msgid "Search:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:202
+msgid "&Price:"
+msgstr ""
+
+#: /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:36
+msgid "Price"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:191
+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:194
+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:196
+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:198
+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:105
+msgid "Buying from this store supports the calibre developer: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:261
+msgid "Customize get books search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:271
+msgid "Configure search"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:321
+msgid "Couldn't find any books matching your query."
+msgstr ""
+
+#: /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: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:141
+msgid "Open in &external browser"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_control.py:73
+msgid ""
+"This ebook is a DRMed EPUB file. You will be prompted to save this file to "
+"your computer. Once it is saved, open it with Adobe Digital "
+"Editions (ADE).
ADE, in turn will download the actual ebook, which "
+"will be a .epub file. You can add this book to calibre using \"Add Books\" "
+"and selecting the file from the ADE library folder."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_control.py:86
+msgid "File is not a supported ebook type. Save to disk?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:59
+msgid "Home"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:60
+msgid "Reload"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:61
+msgid "%p%"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:345
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:375
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:404
+msgid "Rename %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:349
+msgid "Edit sort for %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:356
+msgid "Add %s to user category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:369
+msgid "Children of %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:379
+msgid "Delete search %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:384
+msgid "Remove %s from category %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:391
+msgid "Search for %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:396
+msgid "Search for everything but %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:408
+msgid "Add sub-category to %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:412
+msgid "Delete user category %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:417
+msgid "Hide category %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:421
+msgid "Show category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:431
+msgid "Search for books in category %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:437
+msgid "Search for books not in category %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:446
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:451
+msgid "Manage %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:454
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1844
+msgid "Manage Saved Searches"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:462
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:466
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1842
+msgid "Manage User Categories"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:473
+msgid "Show all categories"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:476
+msgid "Change sub-categorization scheme"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:792
+msgid "The grouped search term name is \"{0}\""
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1065
+msgid ""
+"Changing the authors for several books can take a while. Are you sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1070
+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:436
+msgid "Searches"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1391
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1411
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1420
+msgid "Rename user category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1392
+msgid "You cannot use periods in the name when renaming user categories"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1412
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1421
+msgid "The name %s is already used"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1444
+msgid "Duplicate search name"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1445
+msgid "The saved search name %s is already used."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1834
+msgid "Manage Authors"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1836
+msgid "Manage Series"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1838
+msgid "Manage Publishers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1840
+msgid "Manage Tags"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1852
+msgid "Invalid search restriction"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1853
+msgid "The current search restriction is invalid"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1869
+msgid "New Category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1920
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1923
+msgid "Delete user category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1921
+msgid "%s is not a user category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1924
+msgid "%s contains items. Do you really want to delete it?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1945
+msgid "Remove category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1946
+msgid "User category %s does not exist"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1965
+msgid "Add to user category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1966
+msgid "A user category %s does not exist"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2089
+msgid "Find item in tag browser"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2092
+msgid ""
+"Search for items. This is a \"contains\" search; items containing the\n"
+"text anywhere in the name will be found. You can limit the search\n"
+"to particular categories using syntax similar to search. For example,\n"
+"tags:foo will find foo in any tag, but not in authors etc. Entering\n"
+"*foo will filter all categories at once, showing only those items\n"
+"containing the text \"foo\""
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2101
+msgid "ALT+f"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2106
+msgid "Find the first/next matching item"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2111
+msgid "Collapse all categories"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2135
+msgid "No More Matches.
Click Find again to go to first match"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
+msgid "Sort by name"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2148
+msgid "Sort by popularity"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2149
+msgid "Sort by average rating"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2152
+msgid "Set the sort order for entries in the Tag Browser"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
+msgid "Match all"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2159
+msgid "Match any"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2164
+msgid ""
+"When selecting multiple entries in the Tag Browser match any or all of them"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2171
+msgid "Manage authors, tags, etc"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2172
+msgid ""
+"All of these category_managers are available by right-clicking on items in "
+"the tag browser above"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:65
+msgid "Convert book %(num)d of %(total)d (%(title)s)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:205
+msgid "Could not convert some books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:206
+msgid ""
+"Could not convert %d of %d books, because no suitable source format was "
+"found."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:125
+msgid "Queueing books for bulk conversion"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:183
+msgid "Queueing "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:184
+msgid "Convert book %d of %d (%s)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:254
+msgid "Fetch news from "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:327
+msgid "Convert existing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:328
+msgid ""
+"The following books have already been converted to %s format. Do you wish to "
+"reconvert them?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:196
+msgid "&Donate to support calibre"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:232
+msgid "&Restore"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:237
+msgid "&Eject connected device"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:345
+msgid "Debug mode"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:346
+msgid ""
+"You have started calibre in debug mode. After you quit calibre, the debug "
+"log will be available in the file: %s
The log will be displayed "
+"automatically."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548
+msgid "Conversion Error"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:571
+msgid "Recipe Disabled"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:587
+msgid "Failed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:621
+msgid "There are active jobs. Are you sure you want to quit?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:624
+msgid ""
+" is communicating with the device! \n"
+" Quitting may cause corruption on the device. \n"
+" Are you sure you want to quit?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:628
+msgid "Active jobs"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:696
+msgid ""
+"will keep running in the system tray. To close it, choose Quit in the "
+"context menu of the system tray."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/update.py:53
+msgid ""
+"%s has been updated to version %s. See the new features."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/update.py:55
+msgid ""
+"Update only if one of the new features or bug fixes is important to "
+"you. If the current version works well for you, do not update."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/update.py:60
+msgid "Update available!"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/update.py:65
+msgid "Show this notification for future updates"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/update.py:70
+msgid "&Get update"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:43
+msgid "Edit bookmark"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:43
+msgid "New title for bookmark:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:52
+msgid "Export Bookmarks"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:54
+msgid "Saved Bookmarks (*.pickle)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:62
+msgid "Import Bookmarks"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:62
+msgid "Pickled Bookmarks (*.pickle)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:61
+msgid "Bookmark Manager"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:62
+msgid "Actions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:63
+msgid "Edit"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:65
+msgid "Reset"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:66
+msgid "Export"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:67
+msgid "Import"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:178
+msgid "Configure Ebook viewer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:179
+msgid "&Font options"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:180
+msgid "Se&rif family:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:181
+msgid "&Sans family:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:182
+msgid "&Monospace family:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:183
+msgid "&Default font size:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:184
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:201
+msgid " px"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:185
+msgid "Monospace &font size:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:187
+msgid "S&tandard font:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:188
+msgid "Serif"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:189
+msgid "Sans-serif"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:190
+msgid "Monospace"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:191
+msgid "Remember last used &window size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:192
+msgid "Remember the ¤t page when quitting"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:193
+msgid "H&yphenate (break line in the middle of large words)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:194
+msgid ""
+"The default language to use for hyphenation rules. If the book does not "
+"specify a language, this will be used."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:195
+msgid "Default &language for hyphenation:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:196
+msgid "&Resize images larger than the viewer window (needs restart)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:197
+msgid "Page flip &duration:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:198
+msgid "disabled"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:200
+msgid "Mouse &wheel flips pages"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:202
+msgid "Maximum &view width:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:203
+msgid "&General"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:204
+msgid "Double click to change a keyboard shortcut"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:205
+msgid "&Keyboard shortcuts"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:206
+msgid ""
+"
A CSS stylesheet that can be used to control the look and feel of books. "
+"For examples, click here."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:207
+msgid "User &Stylesheet"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/dictionary.py:53
+msgid "No results found for:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:40
+msgid "Options to customize the ebook viewer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:783
+msgid "Remember last used window size"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:49
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:96
+msgid ""
+"Set the user CSS stylesheet. This can be used to customize the look of all "
+"books."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:51
+msgid "Maximum width of the viewer window, in pixels."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53
+msgid "Resize images larger than the viewer window to fit inside it"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54
+msgid "Hyphenate text"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:56
+msgid "Default language for hyphenation rules"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:58
+msgid "Save the current position in the document, when quitting"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:60
+msgid "Have the mouse wheel turn pages"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:62
+msgid ""
+"The time, in seconds, for the page flip animation. Default is half a second."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:65
+msgid "Font options"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:67
+msgid "The serif font family"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:69
+msgid "The sans-serif font family"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:71
+msgid "The monospaced font family"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:72
+msgid "The standard font size in px"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:73
+msgid "The monospaced font size in px"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:74
+msgid "The standard font type"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:125
+msgid "Still editing"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:126
+msgid ""
+"You are in the middle of editing a keyboard shortcut first complete that, by "
+"clicking outside the shortcut editing box."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534
+msgid "&Lookup in dictionary"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141
+msgid "Go to..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:550
+msgid "Next Section"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:551
+msgid "Previous Section"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:553
+msgid "Document Start"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:554
+msgid "Document End"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:556
+msgid "Section Start"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:557
+msgid "Section End"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:12
+msgid "Scroll to the next page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:15
+msgid "Scroll to the previous page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:18
+msgid "Scroll to the next section"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:21
+msgid "Scroll to the previous section"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:24
+msgid "Scroll to the bottom of the section"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:27
+msgid "Scroll to the top of the section"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:30
+msgid "Scroll to the end of the document"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:33
+msgid "Scroll to the start of the document"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:36
+msgid "Scroll down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:39
+msgid "Scroll up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:42
+msgid "Scroll left"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:45
+msgid "Scroll right"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:118
+msgid "Book format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:198
+msgid "Position in book"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:205
+msgid "Go to a reference. To get reference numbers, use the reference mode."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213
+msgid "Search for text in book"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:292
+msgid "Print Preview"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:303
+msgid "Clear list of recently opened books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:361
+msgid "Connecting to dict.org to lookup: %s…"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:467
+msgid "Choose ebook"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:468
+msgid "Ebooks"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504
+msgid "No matches found for: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:541
+msgid "Loading flow..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:579
+msgid "Laying out %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:610
+msgid "Bookmark #%d"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:614
+msgid "Add bookmark"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:615
+msgid "Enter title for bookmark:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:625
+msgid "Manage Bookmarks"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:665
+msgid "Loading ebook..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:677
+msgid "Could not open ebook"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:770
+msgid "Options to control the ebook viewer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:777
+msgid ""
+"If specified, viewer window will try to come to the front when started."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:780
+msgid ""
+"If specified, viewer window will try to open full screen when started."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:785
+msgid "Print javascript alert and console messages to the console"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791
+msgid ""
+"%prog [options] file\n"
+"\n"
+"View an ebook.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:189
+msgid "E-book Viewer"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:190
+msgid "Close dictionary"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:192
+msgid "toolBar"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:195
+msgid "Next page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:196
+msgid "Previous page"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:197
+msgid "Font size larger"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:198
+msgid "Font size smaller"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:202
+msgid "Find next"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:203
+msgid "Find next occurrence"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:207
+msgid "Reference Mode"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:208
+msgid "Bookmark"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:209
+msgid "Toggle full screen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:210
+msgid "Print"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:211
+msgid "Find previous"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:212
+msgid "Find previous occurrence"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/printing.py:114
+msgid "Print eBook"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:962
+msgid "Drag to resize"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:997
+msgid "Show"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:1004
+msgid "Hide"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:1041
+msgid "Toggle"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:438
+msgid ""
+"Choose your e-book device. If your device is not in the list, choose a "
+"\"%s\" device."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499
+msgid "Moving library..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:515
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:516
+msgid "Failed to move library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:570
+msgid "Invalid database"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:571
+msgid ""
+"
An invalid library already exists at %s, delete it before trying to move "
+"the existing library. Error: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:582
+msgid "Could not move library"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:657
+msgid "Select location for books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:671
+msgid ""
+"You must choose an empty folder for the calibre library. %s is not empty."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:745
+msgid "welcome wizard"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:47
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:47
+msgid "Welcome to calibre"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:56
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:56
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:48
+msgid "The one stop solution to all your e-book needs."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:57
+msgid "&Manufacturers"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:58
+msgid "&Devices"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:49
+msgid ""
+"
Congratulations!
You have successfully setup calibre. Press the %s "
+"button to apply your settings."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:50
+msgid ""
+"
Demo videos
Videos demonstrating the various features of calibre are "
+"available online."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:51
+msgid ""
+"
User Manual
A User Manual is also available online."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:49
+msgid ""
+"
calibre can automatically send books by email to your Kindle. To do that "
+"you have to setup email delivery below. The easiest way is to setup a free "
+"gmail account and click the Use gmail "
+"button below. You will also have to register your gmail address in your "
+"Amazon account."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:50
+msgid "&Kindle email:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:57
+msgid "Choose your &language:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:58
+msgid ""
+"
Choose a location for your books. When you add books to calibre, they "
+"will be copied here. Use an empty folder for a new calibre library:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59
+msgid "&Change"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:60
+msgid ""
+"If you have an existing calibre library, it will be copied to the new "
+"location. If a calibre library already exists at the new location, calibre "
+"will switch to using it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34
+msgid "Using: %s:%s@%s:%s and %s encryption"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39
+msgid "Sending..."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44
+msgid "Mail successfully sent"
+msgstr ""
+
+#: /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: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:68
+msgid "Your %s &email address:"
+msgstr ""
+
+#: /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:70
+msgid "Your %s &password:"
+msgstr ""
+
+#: /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:95
+msgid "Setup"
+msgstr ""
+
+#: /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:222
+msgid "You must set the From email address"
+msgstr ""
+
+#: /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: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:243
+msgid ""
+"No username and password set for mailserver. Most mailservers need a "
+"username and password. Are you sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124
+msgid "Send email &from:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125
+msgid ""
+"
This is what will be present in the From: field of emails sent by "
+"calibre. Set it to your email address"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126
+msgid ""
+"
A mail server is useful if the service you are sending mail to only "
+"accepts email from well know mail services."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127
+msgid "Mail &Server"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128
+msgid "calibre can optionally use a server to send mail"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129
+msgid "&Hostname:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130
+msgid "The hostname of your mail server. For e.g. smtp.gmail.com"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131
+msgid "&Port:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132
+msgid ""
+"The port your mail server listens for connections on. The default is 25"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134
+msgid "Your username on the mail server"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136
+msgid "Your password on the mail server"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137
+msgid "&Show"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138
+msgid "&Encryption:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139
+msgid ""
+"Use TLS encryption when connecting to the mail server. This is the most "
+"common."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140
+msgid "&TLS"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141
+msgid "Use SSL encryption when connecting to the mail server."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142
+msgid "&SSL"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:143
+msgid "WARNING: Using no encryption is highly insecure"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:144
+msgid "&None"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:145
+msgid "Use Gmail"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:146
+msgid "Use Hotmail"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:147
+msgid "&Test email"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:49
+msgid ""
+"
If you use the Stanza e-"
+"book app on your iPhone/iTouch, you can access your calibre book collection "
+"directly on the device. To do this you have to turn on the calibre content "
+"server."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:50
+msgid "Turn on the &content server"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:567
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:591
+msgid "checked"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:567
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:591
+#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:216
+msgid "yes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:566
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:588
+msgid "unchecked"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:566
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:588
+#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:216
+msgid "no"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:361
+msgid "today"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:364
+msgid "yesterday"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:367
+msgid "thismonth"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:370
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:371
+msgid "daysago"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:568
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:585
+msgid "blank"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:568
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:585
+msgid "empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+msgid "Invalid boolean query \"{0}\""
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:55
+msgid ""
+"The fields to output when cataloging books in the database. Should be a "
+"comma-separated list of fields.\n"
+"Available fields: %s,\n"
+"plus user-created custom fields.\n"
+"Example: %s=title,authors,tags\n"
+"Default: '%%default'\n"
+"Applies to: CSV, XML output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:68
+msgid ""
+"Output field to sort on.\n"
+"Available fields: author_sort, id, rating, size, timestamp, title_sort\n"
+"Default: '%default'\n"
+"Applies to: CSV, XML output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242
+msgid ""
+"The fields to output when cataloging books in the database. Should be a "
+"comma-separated list of fields.\n"
+"Available fields: %s.\n"
+"plus user-created custom fields.\n"
+"Example: %s=title,authors,tags\n"
+"Default: '%%default'\n"
+"Applies to: BIBTEX output format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:255
+msgid ""
+"Output field to sort on.\n"
+"Available fields: author_sort, id, rating, size, timestamp, title.\n"
+"Default: '%default'\n"
+"Applies to: BIBTEX output format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:264
+msgid ""
+"Create a citation for BibTeX entries.\n"
+"Boolean value: True, False\n"
+"Default: '%default'\n"
+"Applies to: BIBTEX output format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:273
+msgid ""
+"Create a file entry if formats is selected for BibTeX entries.\n"
+"Boolean value: True, False\n"
+"Default: '%default'\n"
+"Applies to: BIBTEX output format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:282
+msgid ""
+"The template for citation creation from database fields.\n"
+"Should be a template with {} enclosed fields.\n"
+"Available fields: %s.\n"
+"Default: '%%default'\n"
+"Applies to: BIBTEX output format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:292
+msgid ""
+"BibTeX file encoding output.\n"
+"Available types: utf8, cp1252, ascii.\n"
+"Default: '%default'\n"
+"Applies to: BIBTEX output format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:301
+msgid ""
+"BibTeX file encoding flag.\n"
+"Available types: strict, replace, ignore, backslashreplace.\n"
+"Default: '%default'\n"
+"Applies to: BIBTEX output format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:310
+msgid ""
+"Entry type for BibTeX catalog.\n"
+"Available types: book, misc, mixed.\n"
+"Default: '%default'\n"
+"Applies to: BIBTEX output format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:616
+msgid ""
+"Title of generated catalog used as title in metadata.\n"
+"Default: '%default'\n"
+"Applies to: ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:623
+msgid ""
+"Save the output from different stages of the conversion pipeline to the "
+"specified directory. Useful if you are unsure at which stage of the "
+"conversion process a bug is occurring.\n"
+"Default: '%default'\n"
+"Applies to: ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:633
+msgid ""
+"field:pattern specifying custom field/contents indicating book should be "
+"excluded.\n"
+"Default: '%default'\n"
+"Applies to ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:640
+msgid ""
+"Regex describing tags to exclude as genres.\n"
+"Default: '%default' excludes bracketed tags, e.g. '[]'\n"
+"Applies to: ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:646
+msgid ""
+"Comma-separated list of tag words indicating book should be excluded from "
+"output.For example: 'skip' will match 'skip this book' and 'Skip will like "
+"this'.Default: '%default'\n"
+"Applies to: ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:654
+msgid ""
+"Include 'Authors' section in catalog.\n"
+"Default: '%default'\n"
+"Applies to: ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:661
+msgid ""
+"Include 'Descriptions' section in catalog.\n"
+"Default: '%default'\n"
+"Applies to: ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:668
+msgid ""
+"Include 'Genres' section in catalog.\n"
+"Default: '%default'\n"
+"Applies to: ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:675
+msgid ""
+"Include 'Titles' section in catalog.\n"
+"Default: '%default'\n"
+"Applies to: ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:682
+msgid ""
+"Include 'Series' section in catalog.\n"
+"Default: '%default'\n"
+"Applies to: ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:689
+msgid ""
+"Include 'Recently Added' section in catalog.\n"
+"Default: '%default'\n"
+"Applies to: ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:696
+msgid ""
+"Custom field containing note text to insert in Description header.\n"
+"Default: '%default'\n"
+"Applies to: ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:703
+msgid ""
+":[before|after]:[True|False] specifying:\n"
+" Custom field containing notes to merge with Comments\n"
+" [before|after] Placement of notes with respect to Comments\n"
+" [True|False] - A horizontal rule is inserted between notes and Comments\n"
+"Default: '%default'\n"
+"Applies to ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:713
+msgid ""
+"Specifies the output profile. In some cases, an output profile is required "
+"to optimize the catalog for the device. For example, 'kindle' or "
+"'kindle_dx' creates a structured Table of Contents with Sections and "
+"Articles.\n"
+"Default: '%default'\n"
+"Applies to: ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:720
+msgid ""
+"field:pattern indicating book has been read.\n"
+"Default: '%default'\n"
+"Applies to ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:726
+msgid ""
+"Size hint (in inches) for book covers in catalog.\n"
+"Range: 1.0 - 2.0\n"
+"Default: '%default'\n"
+"Applies to ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:734
+msgid ""
+"Tag indicating book to be displayed as wishlist item.\n"
+"Default: '%default'\n"
+"Applies to: ePub, MOBI output formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:1418
+msgid "No enabled genres found to catalog.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:1422
+msgid "No books available to catalog"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:1497
+msgid ""
+"Inconsistent Author Sort values for\n"
+"Author '{0}':\n"
+"'{1}' <> '{2}'\n"
+"Unable to build MOBI catalog.\n"
+"\n"
+"Select all books by '{0}', apply correct Author Sort value in Edit Metadata "
+"dialog, then rebuild the catalog.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:1514
+msgid ""
+"Warning: inconsistent Author Sort values for\n"
+"Author '{0}':\n"
+"'{1}' <> '{2}'\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:1710
+msgid ""
+"No books found to catalog.\n"
+"Check 'Excluded books' criteria in E-book options.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:1712
+msgid "No books available to include in catalog"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/catalog.py:5042
+msgid ""
+"\n"
+"*** Adding 'By Authors' Section required for MOBI output ***"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/check_library.py:26
+msgid "Invalid titles"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/check_library.py:27
+msgid "Extra titles"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/check_library.py:28
+msgid "Invalid authors"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/check_library.py:29
+msgid "Extra authors"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/check_library.py:30
+msgid "Missing book formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/check_library.py:31
+msgid "Extra book formats"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/check_library.py:32
+msgid "Unknown files in books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/check_library.py:33
+msgid "Missing covers files"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/check_library.py:34
+msgid "Cover files not in database"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/check_library.py:35
+msgid "Folders raising exception"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:43
+msgid ""
+"Path to the calibre library. Default is to use the path stored in the "
+"settings."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:124
+msgid ""
+"%prog list [options]\n"
+"\n"
+"List the books available in the calibre database.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:132
+msgid ""
+"The fields to display when listing books in the database. Should be a comma "
+"separated list of fields.\n"
+"Available fields: %s\n"
+"Default: %%default. The special field \"all\" can be used to select all "
+"fields. Only has effect in the text output format."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:139
+msgid ""
+"The field by which to sort the results.\n"
+"Available fields: %s\n"
+"Default: %%default"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:141
+msgid "Sort results in ascending order"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:143
+msgid ""
+"Filter the results by the search query. For the format of the search query, "
+"please see the search related documentation in the User Manual. Default is "
+"to do no filtering."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:145
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1044
+msgid ""
+"The maximum width of a single line in the output. Defaults to detecting "
+"screen size."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:146
+msgid "The string used to separate fields. Default is a space."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:147
+msgid ""
+"The prefix for all file paths. Default is the absolute path to the library "
+"folder."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:169
+msgid "Invalid fields. Available fields:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:176
+msgid "Invalid sort field. Available fields:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:248
+msgid ""
+"The following books were not added as they already exist in the database "
+"(see --duplicates option):"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:272
+msgid ""
+"%prog add [options] file1 file2 file3 ...\n"
+"\n"
+"Add the specified files as books to the database. You can also specify "
+"directories, see\n"
+"the directory related options below.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:281
+msgid ""
+"Assume that each directory has only a single logical book and that all files "
+"in it are different e-book formats of that book"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:283
+msgid "Process directories recursively"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:285
+msgid ""
+"Add books to database even if they already exist. Comparison is done based "
+"on book titles."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:287
+msgid "Add an empty book (a book with no formats)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:289
+msgid "Set the title of the added empty book"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:291
+msgid "Set the authors of the added empty book"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:293
+msgid "Set the ISBN of the added empty book"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:319
+msgid "You must specify at least one file to add"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:336
+msgid ""
+"%prog remove ids\n"
+"\n"
+"Remove the books identified by ids from the database. ids should be a comma "
+"separated list of id numbers (you can get id numbers by using the list "
+"command). For example, 23,34,57-85\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:351
+msgid "You must specify at least one book to remove"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:370
+msgid ""
+"%prog add_format [options] id ebook_file\n"
+"\n"
+"Add the ebook in ebook_file to the available formats for the logical book "
+"identified by id. You can get id by using the list command. If the format "
+"already exists, it is replaced.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:385
+msgid "You must specify an id and an ebook file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:390
+msgid "ebook file must have an extension"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:398
+msgid ""
+"\n"
+"%prog remove_format [options] id fmt\n"
+"\n"
+"Remove the format fmt from the logical book identified by id. You can get id "
+"by using the list command. fmt should be a file extension like LRF or TXT or "
+"EPUB. If the logical book does not have fmt available, do nothing.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:415
+msgid "You must specify an id and a format"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:433
+msgid ""
+"\n"
+"%prog show_metadata [options] id\n"
+"\n"
+"Show the metadata stored in the calibre database for the book identified by "
+"id.\n"
+"id is an id number from the list command.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:441
+msgid "Print metadata in OPF form (XML)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:450
+msgid "You must specify an id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:465
+msgid ""
+"\n"
+"%prog set_metadata [options] id /path/to/metadata.opf\n"
+"\n"
+"Set the metadata stored in the calibre database for the book identified by "
+"id\n"
+"from the OPF file metadata.opf. id is an id number from the list command. "
+"You\n"
+"can get a quick feel for the OPF format by using the --as-opf switch to the\n"
+"show_metadata command.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:481
+msgid "You must specify an id and a metadata file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:501
+msgid ""
+"%prog export [options] ids\n"
+"\n"
+"Export the books specified by ids (a comma separated list) to the "
+"filesystem.\n"
+"The export operation saves all formats of the book, its cover and metadata "
+"(in\n"
+"an opf file). You can get id numbers from the list command.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:509
+msgid "Export all books in database, ignoring the list of ids."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:511
+msgid "Export books to the specified directory. Default is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:513
+msgid "Export all books into a single directory"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:520
+msgid "Specifying this switch will turn this behavior off."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:543
+msgid "You must specify some ids or the %s option"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:556
+msgid ""
+"%prog add_custom_column [options] label name datatype\n"
+"\n"
+"Create a custom column. label is the machine friendly name of the column. "
+"Should\n"
+"not contain spaces or colons. name is the human friendly name of the "
+"column.\n"
+"datatype is one of: {0}\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:565
+msgid ""
+"This column stores tag like data (i.e. multiple comma separated values). "
+"Only applies if datatype is text."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:569
+msgid ""
+"A dictionary of options to customize how the data in this column will be "
+"interpreted. This is a JSON string. For enumeration columns, use --"
+"display='{\"enum_values\":[\"val1\", \"val2\"]}'"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:583
+msgid "You must specify label, name and datatype"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:644
+msgid ""
+"\n"
+" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n"
+"\n"
+" Export a catalog in format specified by path/to/destination extension.\n"
+" Options control how entries are displayed in the generated catalog "
+"ouput.\n"
+" "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:658
+msgid ""
+"Comma-separated list of database IDs to catalog.\n"
+"If declared, --search is ignored.\n"
+"Default: all"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:662
+msgid ""
+"Filter the results by the search query. For the format of the search query, "
+"please see the search-related documentation in the User Manual.\n"
+"Default: no filtering"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:668
+#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:499
+msgid "Show detailed output information. Useful for debugging"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:681
+msgid "Error: You must specify a catalog output file"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:727
+msgid ""
+"\n"
+" %prog set_custom [options] column id value\n"
+"\n"
+" Set the value of a custom column for the book identified by id.\n"
+" You can get a list of ids using the list command.\n"
+" You can get a list of custom column names using the custom_columns\n"
+" command.\n"
+" "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:738
+msgid ""
+"If the column stores multiple values, append the specified values to the "
+"existing ones, instead of replacing them."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:749
+msgid "Error: You must specify a field name, id and value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:768
+msgid ""
+"\n"
+" %prog custom_columns [options]\n"
+"\n"
+" List available custom columns. Shows column labels and ids.\n"
+" "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:775
+msgid "Show details for each column."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:787
+msgid "You will lose all data in the column: %r. Are you sure (y/n)? "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:789
+msgid "y"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:795
+msgid ""
+"\n"
+" %prog remove_custom_column [options] label\n"
+"\n"
+" Remove the custom column identified by label. You can see available\n"
+" columns with the custom_columns command.\n"
+" "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:803
+msgid "Do not ask for confirmation"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:813
+msgid "Error: You must specify a column label"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:823
+msgid ""
+"\n"
+" %prog saved_searches [options] list\n"
+" %prog saved_searches add name search\n"
+" %prog saved_searches remove name\n"
+"\n"
+" Manage the saved searches stored in this database.\n"
+" If you try to add a query with a name that already exists, it will be\n"
+" replaced.\n"
+" "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:841
+msgid "Error: You must specify an action (add|remove|list)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:849
+msgid "Name:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:850
+msgid "Search string:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:856
+msgid "Error: You must specify a name and a search string"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:859
+msgid "added"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:864
+msgid "Error: You must specify a name"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:867
+msgid "removed"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:871
+msgid "Error: Action %s not recognized, must be one of: (add|remove|list)"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:879
+msgid ""
+"%prog check_library [options]\n"
+"\n"
+"Perform some checks on the filesystem representing a library. Reports are "
+"{0}\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:886
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1036
+msgid "Output in CSV"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:889
+msgid ""
+"Comma-separated list of reports.\n"
+"Default: all"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:893
+msgid ""
+"Comma-separated list of extensions to ignore.\n"
+"Default: all"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:897
+msgid ""
+"Comma-separated list of names to ignore.\n"
+"Default: all"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:927
+msgid "Unknown report check"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:960
+msgid ""
+"%prog restore_database [options]\n"
+"\n"
+"Restore this database from the metadata stored in OPF files in each\n"
+"directory of the calibre library. This is useful if your metadata.db file\n"
+"has been corrupted.\n"
+"\n"
+"WARNING: This command completely regenerates your database. You will lose\n"
+"all saved searches, user categories, plugboards, stored per-book conversion\n"
+"settings, and custom recipes. Restored metadata will only be as accurate as\n"
+"what is found in the OPF files.\n"
+" "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:975
+msgid ""
+"Really do the recovery. The command will not run unless this option is "
+"specified."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:988
+msgid "You must provide the %s option to do a recovery"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1025
+msgid ""
+"%prog list_categories [options]\n"
+"\n"
+"Produce a report of the category information in the database. The\n"
+"information is the equivalent of what is shown in the tags pane.\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1033
+msgid ""
+"Output only the number of items in a category instead of the counts per item "
+"within the category"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1038
+msgid ""
+"The character to put around the category value in CSV mode. Default is "
+"quotes (\")."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1041
+msgid ""
+"Comma-separated list of category lookup names.\n"
+"Default: all"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1047
+msgid "The string used to separate fields in CSV mode. Default is a comma."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1085
+msgid "CATEGORY ITEMS"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/cli.py:1157
+msgid ""
+"%%prog command [options] [arguments]\n"
+"\n"
+"%%prog is the command line interface to the calibre books database.\n"
+"\n"
+"command is one of:\n"
+" %s\n"
+"\n"
+"For help on an individual command: %%prog command --help\n"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:594
+msgid "No label was provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:596
+msgid ""
+"The label must contain only lower case letters, digits and underscores, and "
+"start with a letter"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:64
+msgid "%sAverage rating is %3.1f"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
+msgid "Main"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
+msgid "
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11387,26 +11509,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11416,38 +11538,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11510,11 +11608,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12214,7 +12312,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12282,31 +12380,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13094,7 +13194,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15072,19 +15172,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15622,49 +15722,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15674,37 +15774,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15714,7 +15814,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15724,24 +15824,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15750,11 +15850,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15762,7 +15862,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15771,20 +15871,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15798,7 +15909,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15806,7 +15917,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15815,19 +15926,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15835,95 +15946,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16440,11 +16549,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16462,11 +16571,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16485,11 +16594,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16517,11 +16644,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16532,11 +16659,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16557,11 +16684,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16581,11 +16708,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16602,11 +16729,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16620,11 +16747,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16637,11 +16764,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16712,11 +16839,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16743,26 +16870,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16781,11 +16908,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16797,11 +16924,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16809,11 +16936,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16823,11 +16950,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16841,11 +16968,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16853,11 +16980,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16866,33 +16993,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16902,11 +17029,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16917,11 +17044,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -17068,6 +17195,9 @@ msgstr ""
#~ msgid "No valid plugin found in "
#~ msgstr "Не са намерени валидни добавки в "
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Избор на форматите, които да не се изтрият"
+
#~ msgid "Warning"
#~ msgstr "Предупреждение"
diff --git a/src/calibre/translations/bn.po b/src/calibre/translations/bn.po
index e7449ef814..933fd09e77 100644
--- a/src/calibre/translations/bn.po
+++ b/src/calibre/translations/bn.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2010-12-11 02:29+0000\n"
"Last-Translator: Kovid Goyal \n"
"Language-Team: Bengali \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:39+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:34+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "আসলে কিছুই করে না"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "আসলে কিছুই করে না"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -744,13 +744,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +817,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -842,7 +842,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +851,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1220,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2644,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2679,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2715,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2896,7 +2896,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3074,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4249,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4427,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4457,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4528,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5145,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5257,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7527,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7581,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7614,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7755,14 +7757,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8817,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8991,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9470,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9479,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9507,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9650,7 +9608,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9617,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9663,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10245,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10367,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10383,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10411,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10645,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11337,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11476,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11505,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11575,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12275,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12343,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13157,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15135,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15685,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15737,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15777,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15787,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15813,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15825,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15834,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15872,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15880,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15889,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15909,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16512,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16534,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16557,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16607,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16622,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16647,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16671,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16692,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16710,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16727,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16802,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16833,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16871,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16887,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16899,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16913,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16931,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16943,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16956,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16992,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17007,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/br.po b/src/calibre/translations/br.po
index 269317ba90..a41f119929 100644
--- a/src/calibre/translations/br.po
+++ b/src/calibre/translations/br.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-06-02 09:38+0000\n"
"Last-Translator: Alan \n"
"Language-Team: Breton \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-06-03 04:36+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:35+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Ne ra netra da vat"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Ne ra netra da vat"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Ne ra netra da vat"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -744,13 +744,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +817,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "Echu"
@@ -842,7 +842,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +851,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Keleier"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalog"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1220,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2644,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2679,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2715,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2896,7 +2896,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3074,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4249,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4427,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4457,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4528,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5145,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5257,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7527,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7581,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7614,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7755,14 +7757,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8817,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8991,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9470,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9479,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9507,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9650,7 +9608,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9617,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9663,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10245,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10367,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10383,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10411,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10645,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11337,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11476,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11505,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11575,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12275,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12343,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13157,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15135,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15685,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15737,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15777,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15787,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15813,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15825,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15834,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15872,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15880,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15889,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15909,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16512,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16534,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16557,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16607,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16622,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16647,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16671,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16692,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16710,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16727,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16802,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16833,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16871,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16887,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16899,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16913,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16931,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16943,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16956,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16992,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17007,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/bs.po b/src/calibre/translations/bs.po
index c3f03d9885..9ca178ffde 100644
--- a/src/calibre/translations/bs.po
+++ b/src/calibre/translations/bs.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-01-18 21:03+0000\n"
"Last-Translator: Senad Sopovic \n"
"Language-Team: Bosnian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:39+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:35+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Radi apsolutno ništa"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Radi apsolutno ništa"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Radi apsolutno ništa"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -744,13 +744,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +817,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "završeno"
@@ -842,7 +842,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +851,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Vijesti"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalog"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1220,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2644,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2679,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2715,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2896,7 +2896,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3074,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4249,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4427,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4457,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4528,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5145,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5257,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7527,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7581,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7614,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7755,14 +7757,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8817,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8991,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9470,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9479,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9507,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9650,7 +9608,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9617,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9663,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10245,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10367,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10383,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10411,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10645,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11337,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11476,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11505,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11575,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12275,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12343,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13157,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15135,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15685,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15737,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15777,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15787,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15813,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15825,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15834,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15872,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15880,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15889,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15909,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16512,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16534,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16557,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16607,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16622,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16647,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16671,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16692,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16710,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16727,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16802,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16833,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16871,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16887,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16899,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16913,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16931,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16943,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16956,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16992,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17007,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po
index ae3a073ca0..d1535866cc 100644
--- a/src/calibre/translations/ca.po
+++ b/src/calibre/translations/ca.po
@@ -10,14 +10,14 @@ msgid ""
msgstr ""
"Project-Id-Version: ca\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
-"PO-Revision-Date: 2011-05-28 12:59+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
+"PO-Revision-Date: 2011-06-04 19:15+0000\n"
"Last-Translator: FerranRius \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:40+0000\n"
+"X-Launchpad-Export-Date: 2011-06-05 04:33+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -51,10 +51,10 @@ msgstr "No fa res"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -79,7 +79,7 @@ msgstr "No fa res"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -149,32 +149,32 @@ msgstr "No fa res"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -803,7 +803,7 @@ msgstr "Registre de depuració"
msgid "Communicate with Android phones."
msgstr "Comunica't amb telèfons Android"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -811,7 +811,7 @@ msgstr ""
"Llista de carpetes del dispositiu separades per comes on s'enviaran els "
"llibres. Es farà servir la primera que ja existeixi al dispositiu."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Comunica't amb telèfons S60."
@@ -896,14 +896,14 @@ msgstr "S'està actualitzant el llistat de metadades del dispositiu..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d de %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "s'ha acabat"
@@ -926,7 +926,7 @@ msgstr ""
"No s'ha pogut convertir algunes portades.\n"
"Feu clic a «Mostra detalls» per a la llista."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -935,22 +935,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Notícies"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Catàleg"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Comunica't amb l'iTunes"
@@ -1327,11 +1327,11 @@ msgstr "Comunica't amb un Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "Comunica't amb un Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Comunica't amb un EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Comunica't amb un Nextbook Reader"
@@ -3106,33 +3106,33 @@ msgstr ""
"Extreu els formats de llibre habituals d'arxius (zip /rar). També intenta "
"detectar automàticament si són fitxers cbz/cbr."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
-msgstr ""
+msgstr "Valor: camp desconegut "
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "ERROR A LA PLANTILLA"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "No"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Sí"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3141,35 +3141,35 @@ msgstr "Sí"
msgid "Title"
msgstr "Títol"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autor(s)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Editorial"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Productor"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Comentaris"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3177,34 +3177,34 @@ msgstr "Comentaris"
msgid "Tags"
msgstr "Etiquetes"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Sèries"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Llengua"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Marca de temps"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Publicat"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Drets"
@@ -3385,7 +3385,7 @@ msgstr "El temps d'espera d'Amazon s'ha esgotat. Intenteu-ho més tard."
msgid "Metadata source"
msgstr "Font de les metadades"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr "Baixa les metadades i les portades des de Douban.com"
@@ -3585,7 +3585,7 @@ msgid "HTML TOC generation options."
msgstr "Opcions de generació de l'index HTML."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4950,47 +4950,51 @@ msgid "Choose formats to be deleted"
msgstr "Trieu els formats s'ha de suprimir"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Trieu els formats que no s'ha de suprimir"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
+"Trieu els formats que no se suprimiran.
Fixeu-vos que això no "
+"suprimirà mai tots els formats d'un llibre."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "No es pot suprimir els llibres"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "No hi ha cap dispositiu connectat"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Memòria principal"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Tarja de memòria A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Tarja de memòria B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Cap llibre per esborrar"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Cap dels llibres seleccionats són al dispositiu"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "S'està suprimint llibres del dispositiu."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -4998,7 +5002,7 @@ msgstr ""
"Alguns dels llibres seleccionats són al dispositiu connectat. D'on "
"voleu que se suprimeixin els fitxers seleccionats?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -5006,7 +5010,7 @@ msgstr ""
"Els llibres seleccionats se suprimiran permanentment i els fitxers es "
"trauran de la biblioteca del calibre. N'esteu segur?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -5134,8 +5138,8 @@ msgstr "No s'ha pogut baixar les metadades"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr "No s'ha pogut baixar"
@@ -5169,7 +5173,7 @@ msgid "Download complete"
msgstr "S'ha acabat la baixada"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr "Registre de baixades"
@@ -5266,11 +5270,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr "S'està aplicant les metadades canviades"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr "Alguns errors"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5924,7 +5928,7 @@ msgid "Book %s of %s"
msgstr "Llibre %s de %s"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Col·leccions"
@@ -6036,7 +6040,7 @@ msgstr "sortida"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -6666,6 +6670,19 @@ msgid ""
"size-rescaling\">User Manual
for a discussion of how font size rescaling "
"works.
"
msgstr ""
+"
Aquest assistent us ajudarà a triar una mida de lletra adequada. "
+"Simplement introduïu la mida de lletra base del document d'entrada i després "
+"introduïu una mida de lletra d'entrada. L'assistent mostrarà la mida de "
+"lletra a la qual s'assignarà mitjançant l'algorisme de redimensionament de "
+"la lletra. Es pot ajustar l'algorisme canviant la mida de lletra base de "
+"sortida i la clau de la lletra més avall. Quan trobeu les mides adequades "
+"feu clic a «D'acord».
\n"
+"
Per defecte, si la mida de lletra base de sortida és zero o no "
+"s'especifica cap clau de mida de lletra, el calibre utilitzarà els valors "
+"del perfil de sortida actual.
\n"
+"
Vegeu el Manual de l'usuari per una explicació de com funciona "
+"el redimensionament de la lletra.
"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:108
msgid "&Output document"
@@ -6740,6 +6757,14 @@ msgid ""
"the User Manual."
msgstr ""
+"Processament heurístic significa que el calibre cercarà al vostre "
+"llibre patrons habituals i els corregirà. Tal com indica el nom, implica que "
+"es faran conjectures i, per tant, podria acabar empitjorant el resultat "
+"d'una conversió si el calibre no fa la deducció correcta. Per això està "
+"inhabilitat per defecte. Si una conversió no dóna el resultat esperat, "
+"activar l'heurística pot millorar-ho. Més informació quant a les diferents "
+"opcions de processament heurístic al Manual de l'ususari."
#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:114
msgid "Enable &heuristic processing"
@@ -7342,6 +7367,11 @@ msgid ""
"wizard buttons below will allow you to test your regular expression against "
"the current input document."
msgstr ""
+"
Cerca i reemplaça utilitza expressions regulars. Vegeu l'assistent d'expressions "
+"regulars per iniciar-vos en les expressions regulars. Si feu clic als "
+"botons de l'assistent més avall també podeu provar les vostres expressions "
+"regulars en el document d'entrada actual."
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:173
msgid "Convert"
@@ -7681,6 +7711,13 @@ msgid ""
"tag.
To learn more advanced usage of XPath see the XPath Tutorial."
msgstr ""
+"
Per exemple, per coincidir amb totes les etiquetes h2 que tenen "
+"class=\"chapter\", establiu etiqueta a h2, atribut a class i "
+"valor a chapter.
Si es deixa l'atribut en blanc coincidirà amb "
+"qualsevol atribut i si es deixa el valor en blanc coincidirà amb qualsevol "
+"valor. Si s'estableix l'etiqueta a «*» coincidirà amb qualsevol "
+"etiqueta.
Per aprendre més usos avançats d'XPath vegeu l'Assistent d'XPath."
#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:128
msgid "Browse by covers"
@@ -8507,19 +8544,19 @@ msgid "&Profile:"
msgstr "&Perfil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "D'ac&ord"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "&Cancel·la"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Edita els comentaris"
@@ -8563,8 +8600,8 @@ msgid "Location"
msgstr "Ubicació"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8602,7 +8639,7 @@ msgstr "Ordre per autor"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "No s'han trobat coincidències"
@@ -8704,7 +8741,7 @@ msgid ""
msgstr ""
"Copia l'ordre per autor a l'autor per a tots els autors. Normalment es fa\n"
"servir aquest botó després de canviar Preferències->Avançat->Ajustaments->\n"
-"Algoritme d'ordre per autor"
+"Algorisme d'ordre per autor"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:99
msgid "Copy all author sort values to author"
@@ -8752,14 +8789,14 @@ msgid "Copied"
msgstr "Copiat"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Copia-ho al porta-retalls"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr "Mostra el registre"
@@ -9861,6 +9898,8 @@ msgid ""
"See the User Manual for more help"
msgstr ""
+"Vegeu el Manual de l'usuari per a més ajuda."
#: /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:218
@@ -9959,7 +9998,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr "El nom ja s'està utilitzant"
@@ -10147,110 +10186,68 @@ msgstr "Canvia el nom de l'element a tots els llibres que el facin servir."
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
-msgstr ""
+msgstr "EXCEPCIÓ: "
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr "No s'ha triat cap columna"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr "Heu d'especificar una columna per pintar"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr "No s'ha donat cap plantilla"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr "El quadre de la plantilla no pot estar buit"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr "Estableix el color de la columna:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr "Valor de la plantilla:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+"El valor de la plantilla que utilitza el llibre actual a la vista de "
+"biblioteca"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr "&Nom de la funció:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr "&Documentació:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr "&Codi Python:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+msgstr "Suprimeix totes les plantilles del quadre"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:32
msgid "Open Template Editor"
msgstr "Obre l'editor de plantilles"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:39
-msgid "Open Tag Wizard"
-msgstr "Obre l'assistent d'etiquetes"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Edita la plantilla"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr "Text no vàlid"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-msgid "The text in the box was not generated by this wizard"
-msgstr "Aquest assistent no ha generat el text del quadre"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:64
-msgid "Tag Wizard"
-msgstr "Assistent d'etiquetes"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr "Color no vàlid"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-msgid "The color {0} is not valid"
-msgstr "El color {0} no és vàlid"
-
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:56
msgid "Test email settings"
msgstr "Prova els paràmetres de correu electrònic"
@@ -10505,6 +10502,8 @@ msgid ""
"For help with writing advanced news recipes, please visit User Recipes"
msgstr ""
+"Per a obtenir ajuda per escriure receptes avançades de notícies vegeu Receptes d'usuaris"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:287
msgid "Recipe source code (python)"
@@ -10611,6 +10610,15 @@ msgid ""
"group names for the various metadata entries are documented in "
"tooltips.
"
msgstr ""
+"
\n"
+"
Estableix un patró d'expressió regular per utilitzar en intentar "
+"endevinar les metadades dels llibres a partir del nom dels fitxers.
\n"
+"
Hi ha un assistent en l'ús d'expressions regulars.
\n"
+"
Utilitzeu la funcionalitat de Prova més avall per provar les "
+"expressions regulars en una mostra petita de noms de fitxers (no oblideu "
+"d'incloure l'extensió de fitxer). Els noms dels grups per a les diverses "
+"entrades de metadades estan documentades en indicadors de funció.
"
#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:133
msgid "Regular &expression"
@@ -10692,7 +10700,7 @@ msgid "Regular expression (?P)"
msgstr "Expressió regular (?P)"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "el navegador de portades"
@@ -10701,7 +10709,7 @@ msgid "Shift+Alt+B"
msgstr "Maj+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "l'explorador d'etiquetes"
@@ -10729,7 +10737,7 @@ msgstr "S'ha trobat una actualització"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Detalls del llibre"
@@ -10830,7 +10838,7 @@ msgid "Show books in the main memory of the device"
msgstr "Mostra els llibres de la memòria principal del dispositiu"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Targeta A"
@@ -10839,7 +10847,7 @@ msgid "Show books in storage card A"
msgstr "Mostra els llibres de la targeta de memòria A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Targeta B"
@@ -10888,45 +10896,45 @@ msgstr "Copia el text de cerca (en lloc del nom de la cerca)"
msgid "Y"
msgstr "S"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "Al dispositiu"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Grandària (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr "Modificat"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "El nom de la cerca és «{0}»"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "L'UUID del llibre és «{0}»"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "A la biblioteca"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Mida"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "S'ha marcat per suprimir"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Feu doble clic per a edittar>/b> -me"
@@ -11522,7 +11530,7 @@ msgid "Downloaded metadata fields"
msgstr "Camps de metadades descarregats"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11656,15 +11664,15 @@ msgstr "&Comentaris"
msgid "Basic metadata"
msgstr "Metadades bàsiques"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr "Té portada"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr "Té resum"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11677,29 +11685,29 @@ msgstr ""
"troba una portada a la fase de baixada de\n"
"portades i a l'inrevés."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr "Vegeu a"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr "El calibre està baixant les metadades des de: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr "Espereu"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr "Consulta: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
"No s'ha pogut baixar les metadades. Feu clic a «Mostra detalls» per a més "
"informació"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11711,38 +11719,38 @@ msgstr ""
"l'autor i una sola paraula per identificar el títol.
Feu clic a «Mostra "
"detalls» per veure tot el registre."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr "Portada actual"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr "S'està cercant..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr "S'està baixant portades per a %s, espereu..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
"No s'ha pogut baixar cap portada. Feu clic a «Mostra detalls» per a més "
"informació."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr "No s'ha trobat cap portada per a %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
"S'han trobat %d portades per a %s. Trieu la que us agradi més."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr "Descàrrega de les metadades..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Baixada de la portada..."
@@ -12001,6 +12009,235 @@ msgstr "Fes servir el &visor intern per a:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Reinicia tots els diàlegs de &confirmació que s'hagin desactivat"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr "és cert"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr "és fals"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr "no està definit"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr "té identificador"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr "no té identificador"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr "és igual a"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr "és menor que"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr "és major que"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr "té"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr "no té"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr "té el patró"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr "no té el patró"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr "està establert"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr "no està establert"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr "és"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr "no és"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr "coincideix amb el patró"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr "no coincideix amb el patró"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr "Si el "
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr " columna "
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr " valor "
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+"Introduïu un tipus d'identificador o un tipus d'identificador i un valor en "
+"la forma «identificador:valor»"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr "Introduïu un nombre"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr "Introduïu una data en el format AAAA-MM-DD"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr "Introduïu una cadena"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr "Introduïu una expressió regular"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr "Podeu fer coincidir múltiples valors si els separeu amb %s"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr "Crea/edita una norma de pintat de columna"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr "Crea una norma de pintat omplint els quadres de més avall"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr "a"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr "Només si es compleixen les condicions següents:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr "Afegeix una altra condició"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+"Es pot inhabilitar una condició deixant en blanc tots els seus quadres"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr "Condició no vàlida"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr "Una de les condicions per a aquesta regla no és vàlida: %s"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr "No hi ha condicions"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+"Per a aquesta regla s'ha d'especificar almenys una condició que no estigui "
+"buida"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
Si la columna %s%s té el valor: %s"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+"Podeu controlar el color de les columnes al llibre creant «regles» que "
+"indiquen al calibre quin color ha d'utilitzar. Feu clic al botó «Afegeix "
+"regla» per començar. Podeu canviar una regla existent fent-hi doble clic."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr "Afegeix una regla"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr "Suprimeix una regla"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr "Mou la regla seleccionada amunt"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr "Mou la regla seleccionada avall"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr "Afegeix una regla avançada"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr "No s'ha seleccionat cap regla"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr "No s'ha seleccionat cap regla per a %s."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr "supressió"
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Heu de seleccionar una columna per suprimir-la"
@@ -12184,6 +12421,9 @@ msgid ""
"leading zeros. The format {0:d} days prints the number "
"then the word \"days\""
msgstr ""
+"Exemples: el format {0:0>4d} dóna un nombre de quatre dígits "
+"amb zeros inicials. El format {0:d} dies imprimeix el "
+"nombre i després la paraula «dies»."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:192
msgid ""
@@ -12193,6 +12433,10 @@ msgid ""
"displays the number with 2 digits after the decimal point and thousands "
"separated by commas."
msgstr ""
+"Exemples: el format {0:.1f} dóna un nombre amb decimals amb un "
+"dígit després de la coma. El format Preu: $ {0:.,2f} "
+"imprimeix «Preu $ » i després el nombre amb dos dígits després de "
+"la coma i els milers separats per punts."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:201
msgid "No lookup name was provided"
@@ -12345,6 +12589,10 @@ msgid ""
"specifier.\n"
" "
msgstr ""
+"
L'especificació de format ha de començar per {0:\n"
+"i acabar amb } Es pot posar text abans i després de "
+"l'especificador de format.\n"
+" "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:240
msgid ""
@@ -12352,6 +12600,9 @@ msgid ""
"href=\"http://docs.python.org/library/string.html#format-string-syntax\">the "
"python documentation"
msgstr ""
+"
Per defecte: Sense format. Per al llenguatge de format vegeu la "
+"documentació de python"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:241
msgid "Format for &dates"
@@ -12359,7 +12610,7 @@ msgstr "Format per a les &dates"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:242
msgid "Format for &numbers"
-msgstr ""
+msgstr "Format per als &nombres"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:243
msgid "&Template"
@@ -12538,206 +12789,128 @@ msgstr ""
msgid "new email address"
msgstr "nova adreça de correu electrònic"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Estreta"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Ampla"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr "Desactivat"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Petita"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Gran"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Mitjana"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Sempre"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
-msgid "If there is enough room"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+msgid "If there is enough room"
+msgstr "Si hi ha prou espai"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Mai"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "Per inicial"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Inhabilitat"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr "Repartit"
-#: /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:166
+msgid "Column coloring"
+msgstr "Pintat de columna"
-#: /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 ""
-"Si voleu pintar un camp depenent de les etiquetes feu clic al botó del "
-"costat d'una línia en blanc per obrir l'assistent d'etiquetes, que crearà "
-"una plantilla que després es pot editar amb el mateix assistent. Si s'edita "
-"manualment és possible que l'assistent no funcioni o restauri valors "
-"anteriors."
-
-#: /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
"
-msgstr ""
-"La plantilla ha de donar un dels noms de color que es mostren més avall. Es "
-"pot utilitzar qualsevol expressió de plantilla legal. Per exemple, es pot "
-"fer que el títol es visualitzi sempre de color verd amb la plantilla «green» "
-"(sense cometes). Per mostrar el títol en el color especificat a la columna "
-"personalizada «#columna» s'utilitza «{#columna}». Per fer que el títol es "
-"visualitzi de color blau si la columna personalitzada «#columna» conté el "
-"valor «tal», de color vermell si conté el valor «qual» i de color negre la "
-"resta, s'utilitzarà «
{#columna:switch(tal,blue,qual,red,black)}
». "
-"Per mostrar el títol de color blau si el llibre té exactament l'etiqueta "
-"«Ciència Ficció», vermell si té exactament l'etiqueta «Misteri» o negre si "
-"no té cap de les dues etiquetes s'utilitza «
»"
-
-#: /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 ""
-"Es pot accedit a un editor de plantilles de múltiples línies des del menú "
-"contextual (clic dret)."
-
-#: /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 ""
-"Nota: si voleu pintar una «columna personalitzada amb un conjunt fix "
-"de valors» sol ser més fàcil especificar els colors al quadre de definició "
-"de la columna. Allà es pot assignar un color per a cada valor sense "
-"utilitzar una plantilla."
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:298
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "Disposició de &la interfície d'usuari (caldrà reiniciar):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Trieu &l'idioma (caldrà reiniciar):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "Habilita la icona a la safata del sis&tema (caldrà reiniciar)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr ""
"Inhabilita totes les animacions. Útil si teniu un ordinador lent o vell."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Inhabilita les &animacions"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Inhabilita les ¬ificacions de la safata del sistema"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Mostra la pantalla de presentació a l'inici"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "&Barra d'eines"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "Mida de la &icona:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Mostra el &text sota les icones:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "Tipus de lletra de la interfície:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "Canvia el tipus de &lletra (caldrà reiniciar)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr "Interfície principal"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr "Selecciona les metadades que es visualitzen"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr "Desplaça cap amunt"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr "Desplaça cap avall"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Fes servir números &romans per a les sèries"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
msgid ""
"Note that comments will always be displayed at the end, regardless of "
"the position you assign here."
@@ -12745,11 +12918,11 @@ msgstr ""
"Tingueu en compte que els comentaris es mostren sempre al final, "
"independentment de la posició que els assigneu aquí."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr "Mètode de &partició de categories del navegador d'etiquetes:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12763,11 +12936,11 @@ msgstr ""
"tenir una llista de grups de mida fixa. Inabiliteu-ho si no voleu\n"
"subcategories."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr "&Redueix si hi ha més elements que:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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 "
@@ -12778,15 +12951,15 @@ msgstr ""
"en subcategories. Si s'ha inhabilitat el mètode de repartició s'ignora "
"aquest valor."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Mostra l&a mitjana de les valoracions a l'explorador d'etiquetes"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr "Categories amb elements &jeràrquics:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12802,40 +12975,16 @@ msgstr ""
"«Català» i «Intriga» a sota de «Misteri». Si «etiquetes» no està\n"
"al quadre, es mostrarà cada etiqueta en una línia."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
"Mostra el navegador de &portades en una finestra separada (caldrà reiniciar)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr ""
"&Número de portades que es mostraran al mode explorador (caldrà reiniciar):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:338
-msgid "Column to color"
-msgstr "Columna per pintar"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:339
-msgid "Color selection template"
-msgstr "Plantilla de selecció de color"
-
-#: /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 "Obre l'assistent d'etiquetes."
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:345
-msgid "Color names"
-msgstr "Noms dels colors"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:346
-msgid "Column Coloring"
-msgstr "Pintat de columnes"
-
#: /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"
@@ -12902,11 +13051,11 @@ msgstr "Data de publicació"
msgid "Configure %s %s"
msgstr "Configura %s %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr "No s'ha seleccionat cap font"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr "No s'ha seleccionat cap font, no es pot configurar"
@@ -13748,7 +13897,7 @@ msgstr ""
"catàleg al lector Stanza al vostre iPhone. «elmeuservidor» és el nom "
"complert del servidor o l'adreça IP de l'ordinador on s'executa el calibre."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -13889,31 +14038,35 @@ msgstr ""
"
\n"
" "
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr "Funcions de plantilla"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr "No es pot suprimir una funció integrada"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr "Funció no definida"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
-msgstr "El compte d'arguments ha de ser -1 o major de zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
+msgstr ""
+"El recompte d'arguments a de ser -1 o major que zero. Zero significa que "
+"aquesta funció no es pot utilitzar en mode de funció única."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr "Hi ha hagut una excepció compilant la funció"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr "el codi font de la funció no està disponible"
@@ -14309,7 +14462,7 @@ msgstr "fals"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:232
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:206
msgid "Affiliate:"
-msgstr ""
+msgstr "Afiliat:"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:235
msgid "Nam&e/Description ..."
@@ -14323,7 +14476,7 @@ msgstr "Consulta:"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:81
msgid "Enable"
-msgstr ""
+msgstr "Habilita"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136
@@ -14339,7 +14492,7 @@ msgstr "Inverteix"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
msgid "Affiliate"
-msgstr ""
+msgstr "Afiliat"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
msgid "Enabled"
@@ -14357,21 +14510,27 @@ msgstr "Sense DRM"
msgid ""
"This store is currently diabled and cannot be used in other parts of calibre."
msgstr ""
+"Aquesta botiga està inhabilitada i no es pot utilitzar a d'altres parts del "
+"calibre."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:131
msgid ""
"This store is currently enabled and can be used in other parts of calibre."
msgstr ""
+"Aquesta botiga està habilitada i es pot utilitzar a d'altres parts del "
+"calibre."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:136
msgid "This store only distributes ebooks with DRM."
-msgstr ""
+msgstr "Aquesta botiga només distribueix llibres amb DRM."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:138
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 ""
+"Aquesta botiga distribueix llibres amb DRM. És possible que tingui algun "
+"títol sense DRM però caldrà comprovar-ho per a cada títol."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:140
msgid ""
@@ -14379,19 +14538,23 @@ msgid ""
"the store caters to. However, this does not necessarily mean that the store "
"is limited to that market only."
msgstr ""
+"Aquesta botiga té la seva seu a %s. Això és un bon indicador del mercat al "
+"qual dóna servei. No significa però que la botiga es limiti només a aquest "
+"mercat."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203
msgid "Buying from this store supports the calibre developer: %s."
msgstr ""
+"Si compreu en aquesta botiga doneu suport al desenvolupador del calibre: %s."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:145
msgid "This store distributes ebooks in the following formats: %s"
-msgstr ""
+msgstr "Aquesta botiga distribueix llibres en els formats següents: %s"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/results_view.py:47
msgid "Configure..."
-msgstr ""
+msgstr "Configura..."
#: /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
@@ -14585,6 +14748,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:105
msgid "Buying from this store supports the calibre developer: %s"
msgstr ""
+"Si compreu en aquesta botiga doneu suport al desenvolupador del calibre: "
+"%s"
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:261
msgid "Customize get books search"
@@ -14746,7 +14911,7 @@ msgstr ""
"N'esteu segur?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Cerques"
@@ -15037,6 +15202,8 @@ msgid ""
"Update only if one of the new features or bug fixes is important to "
"you. If the current version works well for you, do not update."
msgstr ""
+"Actualitzeu només si alguna de les funcions noves o correccions "
+"d'errors us és important. Si la versió actual us funciona, no actualitzeu."
#: /home/kovid/work/calibre/src/calibre/gui2/update.py:60
msgid "Update available!"
@@ -15679,6 +15846,8 @@ msgid ""
"
User Manual
A User Manual is also available online."
msgstr ""
+"
Manual de l'usuari
També hi ha un manual de l'usuari disponible en línia."
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:49
msgid ""
@@ -17146,20 +17315,20 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sLa valoració mitjana és %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Inici"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
"
S'està migrant la base de dades antiga a la biblioteca de %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "S'està copiant %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "S'està compactant la base de dades"
@@ -17729,7 +17898,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:103
msgid "Unknown identifier "
-msgstr ""
+msgstr "No es coneix l'identificador "
#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:110
msgid "unknown function {0}"
@@ -17764,7 +17933,7 @@ msgstr "Aquesta variable no existeix "
msgid "No documentation provided"
msgstr "No s'ha facilitat cap documentació"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
@@ -17773,7 +17942,7 @@ msgstr ""
"i minúscules, de x i y com a cadenes. Si x < y. s'obté «eq» si x == y. En "
"cas contrari s'obté «gt»."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
@@ -17782,7 +17951,7 @@ msgstr ""
"números. S'obté «lt» si x < y. S'obté «eq» si x == y. En la resta de casos "
"s'obté «gt»."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
@@ -17790,33 +17959,33 @@ msgstr ""
"strcat(a, b, ...) -- pot prendre qualsevol nombre d'arguments. S'obté una "
"cadena formada per la concatenació de tots els arguments"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr "add(x, y) -- s'obté x + y. Dóna un error si x o y no són nombres."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
"subtract(x, y) -- s'obté x - y. Dóna un error si x o y no són nombres."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
"multiply(x, y) -- s'obté x * y. Dóna un error si x o y no són nombres."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr "divide(x, y) -- s'obté x / y. Dóna un error si x o y no són nombres."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -17832,7 +18001,7 @@ msgstr ""
"converteixen automàticament. Per exemple, template('[[ordena_títols]]') "
"avaluarà la plantilla {ordena_títols} i s'obtindrà el seu valor."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
@@ -17843,7 +18012,7 @@ msgstr ""
"processador de plantilles per construir resultats complexos de variables "
"locals."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
@@ -17851,7 +18020,7 @@ msgstr ""
"assign(id, val) -- assigna «val» a «id» i s'obté «val». «id» ha de ser un "
"identificador, no una expressió."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
@@ -17861,11 +18030,11 @@ msgstr ""
"esteu fent servir el calibre des de la línia de comandaments (calibre-debug-"
"g), la sortida anirà a un forat negre."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr "field(nom) -- s'obté el camp de metadades identificat per «nom»"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
@@ -17873,7 +18042,7 @@ msgstr ""
"raw_field(nom) -- s'obté el camp de metadades anomenat «nom» sense aplicar "
"cap format."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -17889,7 +18058,7 @@ msgstr ""
"caràcter. Per exemple, amb substr('12345', 1, 0) s'obté «2345», i amb "
"substr('12345', 1, -1) s'obté «234»."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -17905,11 +18074,11 @@ msgstr ""
"camp compost ja que les columnes compostes són camps. És molt útil quan per "
"dissenyar camins per desar variables."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr "«lookup» necessita un 2 o un número senar d'arguments"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
@@ -17917,7 +18086,7 @@ msgstr ""
"test(val, text si no està buit, text si està buit) -- s'obté «text si no "
"està buit» si el camp no està buit, «text si està buit» en cas contrari"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
@@ -17928,7 +18097,7 @@ msgstr ""
"«text si coincideix» si hi ha coincidències, «text si no coincideix» en cas "
"contrari"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -17940,11 +18109,11 @@ msgstr ""
"camp coincideix amb l'expressió regular «patró» i s'obté «valor» si és així. "
"Si no coincideix cap patró s'obté «no_valor»"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr "«switch» necessita un número senar d'arguments"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -17956,7 +18125,7 @@ msgstr ""
"de la llista. Si el patró coincideix amb un valor s'obté «trobat», en cas "
"contrari s'obté «no_trobat»."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -17964,8 +18133,24 @@ msgid ""
"otherwise return not_found_val. If the string contains separators, then it "
"is also treated as a list and each value is checked."
msgstr ""
+"str_in_list(val, separador, cadena, valor_trobat, valor_no trobat) -- "
+"considera «val» com a una llista d'elements separats per un separador que es "
+"compara amb cada valor de la llista. Si la cadena coincideix amb un valor, "
+"s'obté «valor_trobat», en cas contrari «valor _no_trobat. Si la cadena conté "
+"separadors també es tracta com a una llista i es comprova cada valor."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
msgid ""
"re(val, pattern, replacement) -- return the field after applying the regular "
"expression. All instances of `pattern` are replaced with `replacement`. As "
@@ -17976,7 +18161,7 @@ msgstr ""
"es trobin. Com tot en el calibre, han de ser expressions regulars "
"compatibles amb python"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
msgid ""
"ifempty(val, text if empty) -- return val if val is not empty, otherwise "
"return `text if empty`"
@@ -17984,7 +18169,7 @@ msgstr ""
"ifempty(val, text si és buit) -- s'obté «val» si «val» no està buit, en cas "
"contrari s'obté «text si és buit»"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -18009,7 +18194,7 @@ msgstr ""
"la dreta i la llargària del «text al mig», es fa servir el camp sense "
"canviar-lo. Per exemple «La Catedral» no canviaria."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -18021,7 +18206,7 @@ msgstr ""
"majoria de llistes fan servir una coma com a separador, però per als autors "
"es fa servir el signe &. Exemples: {tags:count(,)}, {authors:count(&)}"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -18035,7 +18220,7 @@ msgstr ""
"Si l'element no és a la llista s'obté un valor buit. El separador té el "
"mateix significat que a la funció «count»."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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, "
@@ -18045,119 +18230,83 @@ msgstr ""
"separats per comes, amb els elements en la forma «id:valor». Troba la "
"parella amb «id» igual a «clau» i s'obté el valor corresponent."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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 ""
-"sublist(val, inici_índex, final_índex, separador) -- interpreta el valor com "
-"una llista d'elements separats per un «separador» i s'obté una llista nova "
-"des l'element al lloc «inici_índex» fins a l'element al lloc «final_índex». "
-"El primer element està a la posició zero. Si un índex és negatiu, es compta "
-"des del final de la llista. Com a cas particular, s'assumeix que un "
-"«final_índex» de zero és la longitud de la llista. Exemples utilitzant el "
-"mode bàsic de plantilla, assumint que la columna d'etiquetes (valors "
-"separats per comes) conté «A, B, C»: {tags:sublist(0,1,\\,)} dóna «A». "
-"{tags:sublist(-1,0,\\,)} dóna «C». {tags:sublist(0,-1,\\,)} dóna «A, B»."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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\""
+"each such item extracting the start_index` to the `end_index` 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 ""
-"subitems(val, inici_índex, final_índex) -- aquesta funció es fa servir per "
-"separar llistes d'elements com gèneres. Interpreta el valor com una llista "
-"d'elements separats per comes i cada element és una llista separada per "
-"punts. S'obté una llista nova formada primer cercant als elements separats "
-"per punts i després, per cada element d'aquests se'n treu els components des "
-"del que hi ha al lloc «inici_índex» fin al del lloc «final_índex» i després "
-"es tornen a combinar els resultats. El primer component d'una llista "
-"separada per punts té la posició zero. Si un índex es negatiu, es compta des "
-"del final de la llista. Com a cas particular, s'assumeix que un "
-"«final_índex» de zero és la longitud de la llista. Exemples utilitzant el "
-"mode bàsic de plantilla, assumint un valor de «#gènere» de «A.B.C»: "
-"{#gènere:subitems(0,1)} dóna «A». {#gènere:subitems(0,2)} dóna «A.B». "
-"{#gènere:subitems(1,0)} dóna «B.C». Assumint un valor de «#gènere» de "
-"«A.B.C, D.E.F», {#gènere:subitems(0,1)} dóna «A, D». {#gènere:subitems(0,2)} "
-"dóna «A.B, D.E»"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:523
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
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"
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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 ""
-"format_date(val, format_string) -- dóna format al valor, que ha de ser un "
-"camp de data, utilitzant «format_string», i s'obté una cadena. Els codis de "
-"format són: «d»: el dia com a nombre sense zero inicial (1 a 31). «dd»: el "
-"dia com a nombre amb zero inicial (01 a 31). «ddd»: el nom del dia abreujat "
-"en l'idioma local (per exemple «Dil» a «Diu»). «dddd» el nom del dia complet "
-"en l'idioma local (per exemple «Dilluns» a «Divendres»). M: el mes com a "
-"nombre sense número inicial (1 a 12). MM: el mes com a nombre amb zero "
-"inicial (01 a 12). MMM: el nom del mes abreujat el l'idioma local (per "
-"exemple «Gen» a «Des»). MMMM: el nom del mes complet en l'idioma local (per "
-"exemple «Gener» a «Desembre»). yy: l'any com a nombre de dues xifres (00 a "
-"99). yyyy: l'any com a nombre de quatre xifres. iso: la data amb l'hora i "
-"zona horària. Ha de ser l'únic format present"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:551
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:612
msgid "uppercase(val) -- return value of the field in upper case"
msgstr "uppercase(val) -- s'obté el valor del camp en majúscules"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
msgid "lowercase(val) -- return value of the field in lower case"
msgstr "lowercase(val) -- s'obté el valor del camp en minúscules"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
"titlecase(val) -- s'obté el valor del camp amb les inicials en majúscula"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
"capitalize(val) -- s'obté el valor del camp amb la primera lletra en "
"majúscula"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
-msgstr ""
+msgstr "booksize() -- s'obté el valor del camp de mida"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
+"ondevice() -- s'obté «Yes» si s'ha establert «ondevice», un text buit en cas "
+"contrari"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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 "
@@ -18167,7 +18316,7 @@ msgstr ""
"buit. Si tots els valors estan buits, s'obté un valor buit. S'hi pot posar "
"tants valors com es vulgui."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
@@ -18177,7 +18326,7 @@ msgstr ""
"cas contrari s'obté la cadena buida. Aquesta funció va bé conjuntament amb "
"«test» o «first_non_empty». S'hi pot posar tants valors com es vulgui."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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 "
@@ -18187,7 +18336,7 @@ msgstr ""
"en cas contrari s'obté la cadena buida. Aquesta funció va bé conjuntament "
"amb «test» o «first_non_empty». S'hi pot posar tants valors com es vulgui."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
@@ -18197,7 +18346,7 @@ msgstr ""
"s'obté la cadena buida. Aquesta funció va bé conjuntament amb «test» o "
"«first_non_empty». S'hi pot posar tants valors com es vulgui."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -18740,7 +18889,7 @@ msgid ""
"series_index_auto_increment = 'next_free'\n"
"series_index_auto_increment = 16.5"
msgstr ""
-"L'algoritme utilitzat per assignar un nombre en una sèrie existent a un "
+"L'algorisme utilitzat per assignar un nombre en una sèrie existent a un "
"llibre nou.\n"
"Els números nous assignats amb aquest ajustament són enters, excepte si\n"
"especifiqueu un nombre constant que no sigui enter.\n"
@@ -18779,11 +18928,11 @@ msgstr ""
"una nova operació d'introducció d'autors.\n"
"Pot ser «True» o «False»"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
-msgstr "Algoritme d'ordre per nom d'autor"
+msgstr "Algorisme d'ordre per nom d'autor"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -18800,7 +18949,7 @@ msgid ""
"end of an author name. The case of the suffix is ignored and trailing\n"
"periods are automatically handled."
msgstr ""
-"L'algoritme que s'utilitza per copiar l'autor a l'ordre per autor\n"
+"L'algorisme que s'utilitza per copiar l'autor a l'ordre per autor\n"
"Els valors possibles són:\n"
"inver: passa de «nom cognom» a «cognom, nom»\n"
"copy: copia l'autor a l'ordre per autor sense canvis\n"
@@ -18817,11 +18966,11 @@ msgstr ""
"en\n"
"majúscula o minúscula i els punts finals es gestionen automàticament."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr "Utilitza l'ordre per autor a l'explorador d'etiquetes"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -18857,11 +19006,30 @@ msgstr ""
"categories_use_field_for_author_name = 'author'\n"
"categories_use_field_for_author_name = 'author_sort'"
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+"Ordre de compleció: trieu quan s'ha de canviar de lexicografia a tipus ASCII"
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr "Control de la divisió de l'explorador d'etiquetes"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -18913,12 +19081,12 @@ msgstr ""
"no\n"
"hi hagi cap barra inversa."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
"Especifica per quines columnes s'ordena la llista de llibres a l'inici"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -18937,11 +19105,11 @@ msgstr ""
"Per exemple, establiu-ho a [('authors',0),('title',0)] per ordenar\n"
"per títols per a cada autor."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr "Controla com es visualitzen les dates"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -18985,11 +19153,11 @@ msgstr ""
"Format de la data de publicació per defecte: MMM yyyy\n"
"Format de la marca horària per defecte: dd MMM yyyy"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr "Controla l'ordre de títols i sèries en mostrar la biblioteca"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -19028,12 +19196,12 @@ msgstr ""
"si es fa doble clic un un títol i es prem la tecla de retorn sense canviar "
"res."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
"Controla el format de títols i sèries quan s'utilitzen a les plantilles"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -19067,13 +19235,13 @@ msgstr ""
"«strictly_alphabetic»\n"
"seguirà com a «El Senyor dels Anells»."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
"Estableix la llista de paraules que es consideraran «articles» per ordenar "
"cadenes de text"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -19100,11 +19268,11 @@ msgstr ""
"'^$'\n"
"Per defecte: '^(A|The|An)\\s+'"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr "Especifica una carpeta que el calibre es connectarà a l'inici"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -19126,11 +19294,11 @@ msgstr ""
"biblioprova'\n"
"auto_connect_to_folder = '/home/dropbox/My Dropbox/un_nom/biblioteca'"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr "Especifica les normes de canvi de nom per a les col·leccions SONY"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -19280,11 +19448,11 @@ msgstr ""
"sony_collection_renaming_rules={'series':'Sèrie', 'tags':'Etiqueta'}\n"
"sony_collection_name_template='{category:||: }{value}'"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr "Especifica com s'ordenen les col·leccions SONY"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -19339,13 +19507,13 @@ msgstr ""
") ]\n"
"Per defecte: buit (sense regles), no es dóna nom a cap atribut de col·lecció."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
"Controla com s'apliquen les etiquetes en copiar llibres a una altra "
"biblioteca"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
@@ -19354,20 +19522,20 @@ msgstr ""
"que s'afegiran en afegir un llibre» s'afegeixen en copiar llibres a\n"
"una altra biblioteca"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
"Estableix el número màxim d'etiquetes per llibre que es mostrarà al servidor "
"de continguts"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
"Estableix els camps de metadades personalitzats que el servidor de "
"continguts mostrarà o no."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -19404,11 +19572,11 @@ msgstr ""
"content_server_will_display = ['*']\n"
"content_server_wont_display['#elsmeuscomentaris']"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr "Estableix el número màxim de «nivells» d'ordre"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -19426,13 +19594,13 @@ msgstr ""
"no us interessen els ordres en múltiples nivells i detecteu una reducció de\n"
"rendiment, disminuïu el valor d'aquest ajustament."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
"Especifiqueu el tipus de lletra que s'utilitzarà en generar una portada per "
"defecte"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -19446,11 +19614,11 @@ msgstr ""
"(Liberation Serif) no conté tots els caràcters de l'idioma dels llibres de "
"la biblioteca."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr "Controla el comportament del doble clic a la llista de llibres"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -19467,11 +19635,11 @@ msgstr ""
"Per defecte: «open_viewer».\n"
"Exemple: doubleclick_on_library_view = 'do_nothing'"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr "Idioma que s'utilitza en ordenar"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -19498,13 +19666,13 @@ msgstr ""
"Example: locale_for_sorting = 'es' -- ordena utilitzant les regles de "
"l'espanyol."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
"Nombre de columnes per a les metadades personalitzades al diàleg d'edició de "
"metadades"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -19517,11 +19685,11 @@ msgstr ""
"distribueixin\n"
"utilitzant dues columnes. «False» per a una sola columna."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr "El nombre de segons que s'espera abans d'enviar correus electrònics"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -19536,13 +19704,13 @@ msgstr ""
"canvis\n"
"no tenen efecte fins que no es reiniciï el calibre."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
"Suprimeix les línies de color groc brillant a les vores de la llista de "
"llibres"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
@@ -19553,13 +19721,13 @@ msgstr ""
"Els\n"
"canvis no tenen efecte fins que no es reiniciï el calibre."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
"Amplada i alçada màximes per a les portades desades a la biblioteca del "
"calibre"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
@@ -19570,11 +19738,11 @@ msgstr ""
"les proporcions, per adaptar-se a aquestes mides. Això permet evitar\n"
"reduccions de rendiment per portades extremadament grans."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr "On s'envien les notícies baixades"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -19593,11 +19761,11 @@ msgstr ""
"que\n"
"s'ha triat s'enviarà els fitxers a la ubicació que tingui més espai lliure."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr "Interfícies que el servidor de continguts ha d'escoltar"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -19616,11 +19784,11 @@ msgstr ""
"(pot\n"
"no funcionar a tots els sistemes operatius)."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr "Fusió de la barra d'eines a l'OS X"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -21486,6 +21654,9 @@ msgstr ""
#~ "No hi ha llibres per catalogar\n"
#~ "Comproveu les etiquetes d'exclusió"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Trieu els formats que no s'ha de suprimir"
+
#~ msgid "Copy Image"
#~ msgstr "Copia la imatge"
@@ -21910,6 +22081,9 @@ msgstr ""
#~ msgid "Plugin {0} successfully removed"
#~ msgstr "S'ha suprimit el connector {0} amb èxit"
+#~ msgid "Argument count must be -1 or greater than zero"
+#~ msgstr "El compte d'arguments ha de ser -1 o major de zero"
+
#~ msgid ""
#~ "\n"
#~ "\n"
@@ -22334,6 +22508,59 @@ msgstr ""
#~ "«gener» a «desembre»)-. «yy» -l'any com a nombre de dues xifres (de «00» a "
#~ "«99»)-. «yyyy» -l'any com a nombre de quatre xifres-."
+#~ 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 ""
+#~ "sublist(val, inici_índex, final_índex, separador) -- interpreta el valor com "
+#~ "una llista d'elements separats per un «separador» i s'obté una llista nova "
+#~ "des l'element al lloc «inici_índex» fins a l'element al lloc «final_índex». "
+#~ "El primer element està a la posició zero. Si un índex és negatiu, es compta "
+#~ "des del final de la llista. Com a cas particular, s'assumeix que un "
+#~ "«final_índex» de zero és la longitud de la llista. Exemples utilitzant el "
+#~ "mode bàsic de plantilla, assumint que la columna d'etiquetes (valors "
+#~ "separats per comes) conté «A, B, C»: {tags:sublist(0,1,\\,)} dóna «A». "
+#~ "{tags:sublist(-1,0,\\,)} dóna «C». {tags:sublist(0,-1,\\,)} dóna «A, B»."
+
+#~ 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 ""
+#~ "subitems(val, inici_índex, final_índex) -- aquesta funció es fa servir per "
+#~ "separar llistes d'elements com gèneres. Interpreta el valor com una llista "
+#~ "d'elements separats per comes i cada element és una llista separada per "
+#~ "punts. S'obté una llista nova formada primer cercant als elements separats "
+#~ "per punts i després, per cada element d'aquests se'n treu els components des "
+#~ "del que hi ha al lloc «inici_índex» fin al del lloc «final_índex» i després "
+#~ "es tornen a combinar els resultats. El primer component d'una llista "
+#~ "separada per punts té la posició zero. Si un índex es negatiu, es compta des "
+#~ "del final de la llista. Com a cas particular, s'assumeix que un "
+#~ "«final_índex» de zero és la longitud de la llista. Exemples utilitzant el "
+#~ "mode bàsic de plantilla, assumint un valor de «#gènere» de «A.B.C»: "
+#~ "{#gènere:subitems(0,1)} dóna «A». {#gènere:subitems(0,2)} dóna «A.B». "
+#~ "{#gènere:subitems(1,0)} dóna «B.C». Assumint un valor de «#gènere» de "
+#~ "«A.B.C, D.E.F», {#gènere:subitems(0,1)} dóna «A, D». {#gènere:subitems(0,2)} "
+#~ "dóna «A.B, D.E»"
+
#~ msgid "Enable to skip the 'Connect to iTunes' recommendation dialog"
#~ msgstr "Habilita l'omissió del quadre de recomanació «Connecta a iTunes»"
@@ -22492,6 +22719,33 @@ msgstr ""
#~ msgid "Configure metadata downloading"
#~ msgstr "Configura la baixada de metadades"
+#~ 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 ""
+#~ "format_date(val, format_string) -- dóna format al valor, que ha de ser un "
+#~ "camp de data, utilitzant «format_string», i s'obté una cadena. Els codis de "
+#~ "format són: «d»: el dia com a nombre sense zero inicial (1 a 31). «dd»: el "
+#~ "dia com a nombre amb zero inicial (01 a 31). «ddd»: el nom del dia abreujat "
+#~ "en l'idioma local (per exemple «Dil» a «Diu»). «dddd» el nom del dia complet "
+#~ "en l'idioma local (per exemple «Dilluns» a «Divendres»). M: el mes com a "
+#~ "nombre sense número inicial (1 a 12). MM: el mes com a nombre amb zero "
+#~ "inicial (01 a 12). MMM: el nom del mes abreujat el l'idioma local (per "
+#~ "exemple «Gen» a «Des»). MMMM: el nom del mes complet en l'idioma local (per "
+#~ "exemple «Gener» a «Desembre»). yy: l'any com a nombre de dues xifres (00 a "
+#~ "99). yyyy: l'any com a nombre de quatre xifres. iso: la data amb l'hora i "
+#~ "zona horària. Ha de ser l'únic format present"
+
#~ msgid ""
#~ "
\n"
#~ "
Set a regular expression pattern to use when trying to guess ebook "
@@ -22682,12 +22936,42 @@ msgstr ""
#~ msgid "Zaczarowany świat książek"
#~ msgstr "El món màgic dels llibres (Polònia)"
+#~ msgid "Open Tag Wizard"
+#~ msgstr "Obre l'assistent d'etiquetes"
+
+#~ msgid "Invalid text"
+#~ msgstr "Text no vàlid"
+
+#~ msgid "The text in the box was not generated by this wizard"
+#~ msgstr "Aquest assistent no ha generat el text del quadre"
+
+#~ msgid "Tag Wizard"
+#~ msgstr "Assistent d'etiquetes"
+
#~ msgid "Tags (more than one per box permitted)"
#~ msgstr "Etiquetes (està permès més d'una per quadre)"
#~ msgid "Color"
#~ msgstr "Color"
+#~ msgid "Invalid color"
+#~ msgstr "Color no vàlid"
+
+#~ msgid "The color {0} is not valid"
+#~ msgstr "El color {0} no és vàlid"
+
+#~ 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 ""
+#~ "Si voleu pintar un camp depenent de les etiquetes feu clic al botó del "
+#~ "costat d'una línia en blanc per obrir l'assistent d'etiquetes, que crearà "
+#~ "una plantilla que després es pot editar amb el mateix assistent. Si s'edita "
+#~ "manualment és possible que l'assistent no funcioni o restauri valors "
+#~ "anteriors."
+
#~ 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 "
@@ -22701,6 +22985,39 @@ msgstr ""
#~ "guia "
#~ "d'aprenentatge quant a la utilització de plantilles."
+#~ 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 ""
+#~ "Nota: si voleu pintar una «columna personalitzada amb un conjunt fix "
+#~ "de valors» sol ser més fàcil especificar els colors al quadre de definició "
+#~ "de la columna. Allà es pot assignar un color per a cada valor sense "
+#~ "utilitzar una plantilla."
+
+#~ msgid "Color selection template"
+#~ msgstr "Plantilla de selecció de color"
+
+#~ msgid "Open the tags wizard."
+#~ msgstr "Obre l'assistent d'etiquetes."
+
+#~ msgid "Color names"
+#~ msgstr "Noms dels colors"
+
+#~ msgid "Column Coloring"
+#~ msgstr "Pintat de columnes"
+
+#~ msgid ""
+#~ "You can access a multi-line template editor from the context menu (right-"
+#~ "click)."
+#~ msgstr ""
+#~ "Es pot accedit a un editor de plantilles de múltiples línies des del menú "
+#~ "contextual (clic dret)."
+
+#~ msgid "Column to color"
+#~ msgstr "Columna per pintar"
+
#~ msgid "
This store distributes ebooks in the following formats: %s
"
#~ msgstr ""
#~ "
Aquesta botiga distribueix llibres en els formats següents: %s
Aquesta botiga esta inhabilitada i no es pot utilitzar a d'altres parts "
#~ "del calibre.
"
+
+#~ 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
"
+#~ msgstr ""
+#~ "La plantilla ha de donar un dels noms de color que es mostren més avall. Es "
+#~ "pot utilitzar qualsevol expressió de plantilla legal. Per exemple, es pot "
+#~ "fer que el títol es visualitzi sempre de color verd amb la plantilla «green» "
+#~ "(sense cometes). Per mostrar el títol en el color especificat a la columna "
+#~ "personalizada «#columna» s'utilitza «{#columna}». Per fer que el títol es "
+#~ "visualitzi de color blau si la columna personalitzada «#columna» conté el "
+#~ "valor «tal», de color vermell si conté el valor «qual» i de color negre la "
+#~ "resta, s'utilitzarà «
{#columna:switch(tal,blue,qual,red,black)}
». "
+#~ "Per mostrar el títol de color blau si el llibre té exactament l'etiqueta "
+#~ "«Ciència Ficció», vermell si té exactament l'etiqueta «Misteri» o negre si "
+#~ "no té cap de les dues etiquetes s'utilitza «
»"
+
+#~ msgid ""
+#~ "You can enter more than one tag per box, separated by commas. The comparison "
+#~ "ignores letter case. A tag value can be a regular expression. Check the "
+#~ "box to turn them on. When using regular expressions, note that the wizard "
+#~ "puts anchors (^ and $) around the expression, so you must ensure your "
+#~ "expression matches from the beginning to the end of the tag. Regular "
+#~ "expression examples:"
+#~ msgstr ""
+#~ "Podeu introduir més d'una etiqueta per quadre separades per comes. La "
+#~ "comparació ignora majúscules o minúscules. Un valor d'etiqueta pot ser "
+#~ "una expressió regular. Marqueu el quadre per activar-les. Fixeu-vos que en "
+#~ "utilitzar expressions regulars l'assistent posa ancoratges (^ i $) al "
+#~ "voltant de l'expressió; assegureu-vos que la vostra expressió coincideix amb "
+#~ "l'etiqueta des del començament fins el final. Exemples d'expressions "
+#~ "regulars:"
+
+#~ msgid "Tags (see the popup help for more information)"
+#~ msgstr "Etiquetes (vegeu l'ajuda emergent per a més informació)"
+
+#~ msgid ""
+#~ "
.* matches any tag. No empty tags are checked, so "
+#~ "you don't need to worry about empty strings
A.* "
+#~ "matches any tag beginning with A
.*mystery.* "
+#~ "matches any tag containing the word \"mystery\"
"
+#~ msgstr ""
+#~ "
.* coincideix amb qualsevol etiqueta. No es marquen "
+#~ "les etiquetes buides, per tant no cal preocupar-se per les cadenes "
+#~ "buides
A.* coincideix amb qualsevol etiqueta que "
+#~ "comenci per A
.*misteri.* coincideix amb "
+#~ "qualsevol etiqueta que contingui la paraula «misteri»
"
+
+#~ msgid "Color if tag not found"
+#~ msgstr "Color si no es troba l'etiqueta"
+
+#~ msgid ""
+#~ "At least one of the two color boxes must have a value. Leave one color box "
+#~ "empty if you want the template to use the next line in this wizard. If both "
+#~ "boxes are filled in, the rest of the lines in this wizard will be ignored."
+#~ msgstr ""
+#~ "Almenys un dels dos quadres de color ha de tenir un valor. Deixeu un quadre "
+#~ "de color buit si voleu que la plantilla utilitzi la línia següent d'aquest "
+#~ "assistent. Si s'omplen els dos quadres s'ignoren la resta de línies de "
+#~ "l'assistent."
+
+#~ msgid "Color if tag found"
+#~ msgstr "Color si es troba l'etiqueta"
+
+#~ msgid "Check this box if the tag box contains regular expressions"
+#~ msgstr ""
+#~ "Marqueu el quadre si el quadre d'etiquetes conté expressions regulars"
+
+#~ msgid "is RE"
+#~ msgstr "és RE"
+
+#~ msgid ""
+#~ "This box is usually filled in only on the last test. If it is filled in "
+#~ "before the last test, then the color for tag found box must be empty or all "
+#~ "the rest of the tests will be ignored."
+#~ msgstr ""
+#~ "Aquest quadre normalment només s'omple a la darrera prova. Si s'omple abans "
+#~ "de la darrera prova, el color per a l'etiqueta que es troba ha d'estar buit "
+#~ "o s'ignoraran totes les altres proves."
diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot
index afb1d347ac..dfbd30c53c 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.4\n"
-"POT-Creation-Date: 2011-06-03 11:17+MDT\n"
-"PO-Revision-Date: 2011-06-03 11:17+MDT\n"
+"Project-Id-Version: calibre 0.8.5\n"
+"POT-Creation-Date: 2011-06-10 11:02+MDT\n"
+"PO-Revision-Date: 2011-06-10 11:02+MDT\n"
"Last-Translator: Automatically generated\n"
"Language-Team: LANGUAGE\n"
"MIME-Version: 1.0\n"
@@ -34,7 +34,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:435
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:441
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:127
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
@@ -49,7 +49,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -59,8 +59,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:66
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:124
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:126
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1066
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1176
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1071
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1181
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:41
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:29
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25
@@ -145,36 +145,36 @@ msgstr ""
#: /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:408
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1199
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1202
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1205
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1290
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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.py:362
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:199
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200
#: /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:521
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:533
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:541
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:552
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1838
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1975
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2982
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2984
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3117
#: /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
#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:64
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:78
@@ -303,191 +303,191 @@ msgstr ""
msgid "Set metadata from %s files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:884
msgid "Look and Feel"
msgstr ""
-#: /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
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886
+#: /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:920
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:932
msgid "Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890
msgid "Adjust the look and feel of the calibre interface to suit your tastes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:896
msgid "Behavior"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:901
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:902
msgid "Change the way calibre behaves"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:907
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:221
msgid "Add your own columns"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:912
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913
msgid "Add/remove your own columns to the calibre book list"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:917
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918
msgid "Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:923
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:924
msgid "Customize the toolbars and context menus, changing which actions are available in each"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:930
msgid "Searching"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:935
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:936
msgid "Customize the way searching for books works in calibre"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:940
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:941
msgid "Input Options"
msgstr ""
-#: /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
+#: /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:965
msgid "Conversion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:947
msgid "Set conversion options specific to each input format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:951
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952
msgid "Common Options"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:957
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958
msgid "Set conversion options common to all formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:963
msgid "Output Options"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:968
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969
msgid "Set conversion options specific to each output format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:974
msgid "Adding books"
msgstr ""
-#: /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
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:976
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:988
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1012
msgid "Import/Export"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:979
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980
msgid "Control how calibre reads metadata from files when adding books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:985
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986
msgid "Saving books to disk"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:991
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992
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:997
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998
msgid "Sending books to devices"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1004
msgid "Control how calibre transfers files to your ebook reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1010
msgid "Metadata plugboards"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1015
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016
msgid "Change metadata fields before saving/sending"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1021
msgid "Template Functions"
msgstr ""
-#: /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
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1023
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1070
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1082
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1093
msgid "Advanced"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1026
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027
msgid "Create your own template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1032
msgid "Sharing books by email"
msgstr ""
-#: /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
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1034
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1046
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1059
msgid "Sharing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1037
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038
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:1043
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1044
msgid "Sharing over the net"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1049
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050
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:1056
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1057
msgid "Metadata download"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1063
msgid "Control how calibre downloads ebook metadata from the net"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1067
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:273
msgid "Plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1073
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074
msgid "Add/remove/customize various bits of calibre functionality"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1079
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080
msgid "Tweaks"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1086
msgid "Fine tune how calibre behaves in various contexts"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1090
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091
msgid "Miscellaneous"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096
+#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1097
msgid "Miscellaneous advanced configuration"
msgstr ""
@@ -660,11 +660,11 @@ msgstr ""
msgid "Enabled plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/ui.py:487
+#: /home/kovid/work/calibre/src/calibre/customize/ui.py:493
msgid "Initialization of plugin %s failed with traceback:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/ui.py:525
+#: /home/kovid/work/calibre/src/calibre/customize/ui.py:538
msgid ""
" %prog options\n"
"\n"
@@ -672,31 +672,31 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/ui.py:531
+#: /home/kovid/work/calibre/src/calibre/customize/ui.py:544
msgid "Add a plugin by specifying the path to the zip file containing it."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/ui.py:533
+#: /home/kovid/work/calibre/src/calibre/customize/ui.py:546
msgid "Remove a custom plugin by name. Has no effect on builtin plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/ui.py:535
+#: /home/kovid/work/calibre/src/calibre/customize/ui.py:548
msgid "Customize plugin. Specify name of plugin and customization string separated by a comma."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/ui.py:537
+#: /home/kovid/work/calibre/src/calibre/customize/ui.py:550
msgid "List all installed plugins"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/ui.py:539
+#: /home/kovid/work/calibre/src/calibre/customize/ui.py:552
msgid "Enable the named plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/customize/ui.py:541
+#: /home/kovid/work/calibre/src/calibre/customize/ui.py:554
msgid "Disable the named plugin"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/debug.py:152
+#: /home/kovid/work/calibre/src/calibre/debug.py:154
msgid "Debug log"
msgstr ""
@@ -704,11 +704,11 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:102
msgid "Comma separated list of directories to send e-books to on the device. The first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:154
msgid "Communicate with S60 phones."
msgstr ""
@@ -791,26 +791,26 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
-#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:909
-#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:915
-#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:945
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:912
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:918
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:948
#: /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:317
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:329
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:342
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2846
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:170
msgid "News"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2791
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2806
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2824
msgid "Catalog"
msgstr ""
@@ -918,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:253
+#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:263
#: /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"
@@ -957,6 +957,10 @@ msgid "Communicate with the PocketBook 602/603/902/903 reader."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:252
+msgid "Communicate with the PocketBook 360+ reader."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:262
msgid "Communicate with the PocketBook 701"
msgstr ""
@@ -1154,7 +1158,11 @@ msgstr ""
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:263
+msgid "Communicate with the Adam tablet"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:284
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -1178,19 +1186,19 @@ msgstr ""
msgid "Communicate with the Nook eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:84
msgid "Nook Color"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85
msgid "Communicate with the Nook Color eBook reader."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:111
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:118
msgid "Nook Simple"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:112
+#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:119
msgid "Communicate with the Nook TSR eBook reader."
msgstr ""
@@ -1327,21 +1335,21 @@ msgstr ""
msgid "The main memory of %s is read only. This usually happens because of file system errors."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:842
-#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:844
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:845
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
msgid "The reader has no storage card in this slot."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:846
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:849
msgid "Selected slot: %s is not supported."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:875
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:878
msgid "There is insufficient free space in main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:877
-#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:879
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:880
+#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:882
msgid "There is insufficient free space on the storage card"
msgstr ""
@@ -1447,83 +1455,83 @@ msgstr ""
msgid "Card A folder"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:202
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:207
msgid "Rendered %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:205
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210
msgid "Failed %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:259
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:264
msgid ""
"Failed to process comic: \n"
"\n"
"%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:278
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283
msgid "Number of colors for grayscale image conversion. Default: %default. Values of less than 256 may result in blurred text on your device if you are creating your comics in EPUB format."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:282
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:287
msgid "Disable normalize (improve contrast) color range for pictures. Default: False"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:285
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290
msgid "Maintain picture aspect ratio. Default is to fill the screen."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:287
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:292
msgid "Disable sharpening."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:289
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:294
msgid "Disable trimming of comic pages. For some comics, trimming might remove content as well as borders."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:292
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297
msgid "Don't split landscape images into two portrait images"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:294
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:299
msgid "Keep aspect ratio and scale image using screen height as image width for viewing in landscape mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302
msgid "Used for right-to-left publications like manga. Causes landscape pages to be split into portrait pages from right to left."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:301
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:306
msgid "Enable Despeckle. Reduces speckle noise. May greatly increase processing time."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:304
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:309
msgid "Don't sort the files found in the comic alphabetically by name. Instead use the order they were added to the comic."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:308
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:313
msgid "The format that images in the created ebook are converted to. You can experiment to see which format gives you optimal size and look on your device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:312
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:317
msgid "Apply no processing to the image"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:314
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:319
msgid "Do not convert the image to grayscale (black and white)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:316
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:321
msgid "Specify the image size as widthxheight pixels. Normally, an image size is automatically calculated from the output profile, this option overrides it."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:320
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:325
msgid "When converting a CBC do not add links to each page to the TOC. Note this only applies if the TOC has more than one section"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:471
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:465
+#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:477
msgid "Page"
msgstr ""
@@ -2312,97 +2320,97 @@ msgstr ""
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:632
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:561
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:632
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:561
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:733
#: /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:65
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:331
-#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:574
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:348
+#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:577
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
#: /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:738
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:735
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:875
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:228
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /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:73
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:151
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:184
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:761
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
#: /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:74
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:153
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:114
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:123
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:746
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:70
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:288
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:748
msgid "Rights"
msgstr ""
@@ -2496,46 +2504,46 @@ msgid ""
"Fetch a cover image/social metadata for the book identified by ISBN from LibraryThing.com\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1358
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1363
#: /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/metadata/single.py:887
#: /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:385
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:386
msgid "Downloads metadata and covers from Amazon"
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 "US"
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 "France"
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 "Germany"
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 "UK"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:399
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:400
msgid "Italy"
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 "Amazon website to use:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:404
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:405
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:531
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:532
msgid "Amazon timed out. Try again later."
msgstr ""
@@ -2712,7 +2720,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:150
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:759
msgid "Rating"
@@ -3368,7 +3376,7 @@ msgid "Add to library"
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/delete.py:130
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:83
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:102
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:111
@@ -3425,7 +3433,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:156
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:220
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:257
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91
msgid "No books selected"
msgstr ""
@@ -3482,128 +3490,142 @@ msgstr ""
msgid "Select destination for %s.%s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:81
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:82
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:170
#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125
msgid "%d books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:82
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:83
msgid "Choose calibre library to work with"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:95
msgid "Switch/create library..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87
msgid "Quick switch"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88
msgid "Rename library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:109
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:110
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:89
msgid "Delete library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:112
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:113
msgid "Pick a random book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:133
msgid "Library Maintenance"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:134
msgid "Library metadata backup status"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:138
msgid "Start backing up metadata of all books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:142
msgid "Check library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146
msgid "Restore database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:220
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:221
msgid "Rename"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:221
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:222
msgid "Choose a new name for the library %s. "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:223
msgid "Note that the actual library folder will be renamed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:229
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:230
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:199
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:289
msgid "Already exists"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:230
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:231
msgid "The folder %s already exists. Delete it first."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:235
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:661
+msgid "Too long"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:236
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:662
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:127
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:136
+msgid "Path to library too long. Must be less than %d characters."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:243
msgid "Rename failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:237
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:244
msgid "Failed to rename the library at %s. The most common cause for this is if one of the files in the library is open in another program."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:248
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:255
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:30
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:53
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:78
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:368
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:457
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:465
#: /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:242
msgid "Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:256
msgid "All files (not just ebooks) from
%s
will be permanently deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:270
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:277
msgid "none"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:278
msgid "Backup status"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:272
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:279
msgid "Book metadata files remaining to be written: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:278
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:285
msgid "Backup metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:279
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:286
msgid "Metadata will be backed up while calibre is running, at the rate of approximately 1 book every three seconds."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:318
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:106
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:111
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:295
@@ -3611,53 +3633,53 @@ msgstr ""
msgid "Success"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:319
msgid "Found no errors in your calibre library database. Do you want calibre to check if the files in your library match the information in the database?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:150
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:692
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:974
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:965
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:101
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:277
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:317
msgid "Failed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325
msgid "Database integrity check failed, click Show details for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:330
msgid "No problems found"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:331
msgid "The files in your library match the information in the database."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:340
msgid "No library found"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341
msgid "No existing calibre library was found at %s. It will be removed from the list of known libraries."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:400
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:405
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:407
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:412
#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:167
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:101
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:857
msgid "Not allowed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:401
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:408
msgid "You cannot change libraries while using the environment variable CALIBRE_OVERRIDE_DATABASE_PATH."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:406
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:413
msgid "You cannot change libraries while jobs are running."
msgstr ""
@@ -3772,71 +3794,79 @@ msgid "Remove all formats from selected books, except..."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:98
-msgid "Remove covers from selected books"
+msgid "Remove all formats from selected books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:101
+msgid "Remove covers from selected books"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:104
msgid "Remove matching books from device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:124
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:127
msgid "Cannot delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:140
msgid "Choose formats to be deleted"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:158
msgid "Choose formats not to be deleted.
Note that this will never remove all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:184
+msgid "All formats for the selected books will be deleted from your library. The book metadata will be kept. Are you sure?"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:204
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:205
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:216
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:217
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:222
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:223
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:240
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:331
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:286
msgid "Some of the selected books are on the attached device. Where do you want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid "The selected books will be permanently deleted and the files removed from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:323
msgid "The selected books will be permanently deleted from your device. Are you sure?"
msgstr ""
@@ -4026,15 +4056,15 @@ msgstr ""
msgid "Book formats and metadata from the selected books will be merged into the first selected book (%s). ISBN will not be merged.
After merger the second and subsequently selected books will be deleted.
All book formats of the first selected book will be kept and any duplicate formats in the second and subsequently selected books will be permanently deleted from your calibre library.
Are you sure you want to proceed?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:455
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:456
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:529
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:530
msgid "Failed to apply updated metadata for some books in your library. Click \"Show Details\" to see details."
msgstr ""
@@ -4076,7 +4106,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:388
+#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:390
msgid "N"
msgstr ""
@@ -4148,55 +4178,55 @@ msgstr ""
msgid "Save single format to disk..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:39
msgid "S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:40
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:46
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:45
msgid "Save to disk"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:47
msgid "Save to disk in a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:50
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:49
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:68
msgid "Save only %s format to disk"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:54
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:71
msgid "Save only %s format to disk in a single directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:90
msgid "Cannot save to disk"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:93
msgid "Choose destination directory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:102
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:101
msgid "You are trying to save files into the calibre library. This can cause corruption of your library. Save to disk is meant to export files from your calibre library elsewhere."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:135
msgid "Error while saving"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:136
msgid "There was an error while saving."
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:143
#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:145
msgid "Could not save some books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:145
msgid "Click the show details button to see which ones."
msgstr ""
@@ -4281,7 +4311,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:43
#: /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:270
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:274
msgid "Choose stores"
msgstr ""
@@ -4568,10 +4598,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:127
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:103
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:105
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:108
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:110
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:112
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:114
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:117
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:119
#: /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:79
@@ -4611,7 +4641,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:1033
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
msgid "Collections"
msgstr ""
@@ -4631,7 +4661,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:514
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:261
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:278
msgid "Path"
msgstr ""
@@ -4734,7 +4764,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:68
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:95
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:107
#: /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:77
@@ -6308,11 +6338,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:112
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:149
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:183
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:302
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:565
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:606
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:629
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:680
#: /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:128
@@ -6320,67 +6350,67 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:230
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:279
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:283
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1139
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1197
msgid "Undefined"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:126
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:637
msgid "star(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:127
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:638
msgid "Unrated"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:170
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:667
msgid "Set '%s' to today"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:172
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669
msgid "Clear '%s'"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:298
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:296
msgid " index:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:365
msgid "The enumeration \"{0}\" contains an invalid value that will be set to the default"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:520
msgid "Apply changes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:713
msgid "Remove series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716
msgid "Automatically number books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719
msgid "Force numbers to start with "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:792
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:790
msgid "The enumeration \"{0}\" contains invalid values that will not appear in the list"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:836
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:834
msgid "Remove all tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:856
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:854
msgid "tags to add"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:863
+#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:861
msgid "tags to remove"
msgstr ""
@@ -6575,7 +6605,7 @@ msgstr ""
#:
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget.py:148
-#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:437
+#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:439
#: /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"
@@ -6583,7 +6613,7 @@ msgstr ""
#:
#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget.py:149
-#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:438
+#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:440
#: /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:"
@@ -6838,48 +6868,48 @@ msgstr ""
msgid "Convertible"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:43
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:44
msgid "Choose location for calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:50
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:51
msgid "Same as current"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:52
msgid "The location %s contains the current calibre library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:56
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:57
msgid "No existing library found"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:57
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:58
msgid "There is no existing calibre library at %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:61
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:63
msgid "Not empty"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:64
msgid "The folder %s is not empty. Please choose an empty folder"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:96
msgid "No location"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:87
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:96
msgid "No location selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:91
-#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:670
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:100
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:677
msgid "Bad location"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:101
msgid "%s is not an existing folder"
msgstr ""
@@ -6970,7 +7000,7 @@ msgid "&Cancel"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:96
msgid "Edit Comments"
msgstr ""
@@ -6982,7 +7012,7 @@ msgstr ""
#:
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:68
-#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:228
+#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:231
msgid "Library"
msgstr ""
@@ -7018,11 +7048,11 @@ msgstr ""
#:
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
-#: /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
-#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:573
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:338
+#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:576
msgid "Date"
msgstr ""
@@ -7050,7 +7080,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514
msgid "No matches found"
msgstr ""
@@ -7216,7 +7246,8 @@ msgstr ""
msgid "Copy to clipboard"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:181
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:229
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
@@ -7231,7 +7262,7 @@ msgid "Standard metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:60
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:852
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:856
msgid "Custom metadata"
msgstr ""
@@ -7304,49 +7335,49 @@ msgstr ""
msgid "You must specify a destination identifier type"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:761
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:780
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:907
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:752
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:771
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:898
msgid "Search/replace invalid"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:762
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:753
msgid "Authors cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:781
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:772
msgid "Title cannot be set to the empty string. Book title %s not processed"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:908
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:899
msgid "Search pattern is invalid: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:960
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:951
msgid ""
"Applying changes to %d books.\n"
"Phase {0} {1}%%."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:990
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:981
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:587
msgid "Delete saved search/replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:991
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:982
msgid "The selected saved search/replace will be deleted. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1008
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1016
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:999
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1007
msgid "Save search/replace"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1009
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1000
msgid "Search/replace name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1008
msgid "That saved search/replace already exists and will be overwritten. Are you sure?"
msgstr ""
@@ -7447,7 +7478,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:1123
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1181
msgid "&Date:"
msgstr ""
@@ -7518,13 +7549,13 @@ msgid "Set from &ebook file(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:581
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:495
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:659
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:499
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:663
msgid "&Basic metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:582
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:502
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:506
msgid "&Custom metadata"
msgstr ""
@@ -8170,12 +8201,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:146
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:102
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:111
msgid "Authors"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:136
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:147
msgid "Publishers"
msgstr ""
@@ -8360,53 +8391,61 @@ msgid "Rename the item in every book where it is used."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:83
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:106
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:115
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:257
+msgid "Template language tutorial"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:261
+msgid "Template function reference"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:274
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:302
msgid "No column chosen"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:303
msgid "You must specify a column to be colored"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:306
msgid "No template provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:307
msgid "The template box cannot be empty"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:97
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
msgid "Set the color of the column:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:98
msgid "Template value:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:99
msgid "The value the of the template using the current book in the library view"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:100
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:101
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:102
msgid "Python &code:"
msgstr ""
@@ -8422,7 +8461,7 @@ msgstr ""
#:
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
-#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
+#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:426
msgid "Edit template"
msgstr ""
@@ -8800,6 +8839,7 @@ msgid "Regular expression (?P)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:149
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1086
msgid "ISBN:"
msgstr ""
@@ -8903,49 +8943,49 @@ msgstr ""
msgid "There are %d waiting jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:240
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:243
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:246
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:242
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:245
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:248
msgid "Cannot kill job"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:241
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:243
msgid "Cannot kill jobs that communicate with the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:244
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:246
msgid "Job has already run"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:247
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:249
msgid "This job cannot be stopped"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:285
msgid "Unavailable"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:329
msgid "Jobs:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:329
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:331
msgid "Shift+Alt+J"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:346
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:348
msgid "Click to see list of jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:417
msgid " - Jobs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:457
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459
msgid "Do you really want to stop the selected job?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:465
msgid "Do you really want to stop all non-device jobs?"
msgstr ""
@@ -8962,7 +9002,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:1042
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1054
msgid "Card A"
msgstr ""
@@ -8971,7 +9011,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:1044
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1056
msgid "Card B"
msgstr ""
@@ -9011,12 +9051,12 @@ msgstr ""
msgid "Copy current search text (instead of search name)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:388
+#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:390
msgid "Y"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:268
msgid "On Device"
msgstr ""
@@ -9025,35 +9065,35 @@ msgid "Size (MB)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:258
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:771
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1328
#: /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:778
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1330
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1027
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:328
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1308
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1311
msgid "Double click to edit me
"
msgstr ""
@@ -9138,12 +9178,12 @@ msgid "LRF Viewer toolbar"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:559
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:561
msgid "Next Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:560
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:562
msgid "Previous Page"
msgstr ""
@@ -9196,7 +9236,7 @@ msgid "Cause a running calibre instance, if any, to be shutdown. Note that if th
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:69
-#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:678
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:685
msgid "Calibre Library"
msgstr ""
@@ -9309,13 +9349,13 @@ msgstr ""
#: /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
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:401
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
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:402
msgid "Could not open %s. Is it being used by another program?"
msgstr ""
@@ -9485,22 +9525,37 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1055
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1117
msgid "This ISBN number is valid"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1058
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1120
msgid "This ISBN number is invalid"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1072
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1083
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1105
+msgid "Invalid ISBN"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1084
+msgid "Enter an ISBN"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1106
+msgid "The ISBN you entered is not valid. Try again."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1130
msgid "&Publisher:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1142
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1200
msgid "Clear date"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1174
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1232
msgid "Publishe&d:"
msgstr ""
@@ -9640,38 +9695,38 @@ msgstr ""
msgid "The cover in the %s format is invalid"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:450
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:455
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:454
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:459
msgid "Save changes and edit the metadata of %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:545
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:747
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:549
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:751
msgid "Change cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:602
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:606
msgid "Co&mments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:642
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:788
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:646
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:792
msgid "&Metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:647
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:651
msgid "&Cover and formats"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:720
msgid "C&ustom metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:728
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:732
msgid "&Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:794
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:798
msgid "Basic metadata"
msgstr ""
@@ -9923,159 +9978,159 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
msgid "is true"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:37
msgid "is false"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:33
msgid "is undefined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
msgid "has id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:41
msgid "does not have id"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
msgid "is equal to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
msgid "is less than"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:46
msgid "is greater than"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
msgid "has"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
msgid "does not have"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
msgid "has pattern"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
-msgid "does not have pattern"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
-msgid "is set"
+msgid "does not have pattern"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:62
msgid "is not set"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
msgid "is"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
msgid "is not"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
msgid "matches pattern"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
msgid "does not match pattern"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:72
msgid "If the "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:78
msgid " column "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:84
msgid " value "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:199
msgid "Enter either an identifier type or an identifier type and value of the form identifier:value"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:202
msgid "Enter a number"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
msgid "Enter a date in the format YYYY-MM-DD"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:209
msgid "Enter a string."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:211
msgid "Enter a regular expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:213
msgid "You can match multiple values by separating them with %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:228
msgid "Create/edit a column coloring rule"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:233
msgid "Create a coloring rule by filling in the boxes below"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:247
msgid "to"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:255
msgid "Only if the following conditions are all satisfied:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:265
msgid "Add another condition"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:269
msgid "You can disable a condition by blanking all of its boxes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
msgid "Invalid condition"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
msgid "One of the conditions for this rule is invalid: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:347
msgid "No conditions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:348
msgid "You must specify at least one non-empty condition for this rule"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:436
msgid ""
"\n"
"
If the %s column %s value: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:465
msgid "You can control the color of columns in the book list by creating \"rules\" that tell calibre what color to use. Click the Add Rule button below to get started. You can change an existing rule by double clicking it."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:474
msgid "Add Rule"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:477
msgid "Remove Rule"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:494
msgid "Move the selected rule up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:499
msgid "Move the selected rule down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:507
msgid "Add Advanced Rule"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:555
msgid "No rule selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:556
msgid "No rule selected for %s."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:561
msgid "removal"
msgstr ""
@@ -10181,211 +10236,211 @@ msgid "Restore settings to default values. Only settings for the currently selec
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:18
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:21
msgid "Text, column shown in the tag browser"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:21
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:24
msgid "Comma separated text, like tags, shown in the tag browser"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:24
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:27
msgid "Long text, like comments, not shown in the tag browser"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:27
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:30
msgid "Text column for keeping series-like information"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:33
msgid "Text, but with a fixed set of permitted values"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:34
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:37
msgid "Floating point numbers"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:39
msgid "Integers"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:38
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:41
msgid "Ratings, shown with stars"
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:156
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:44
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:159
msgid "Yes/No"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:43
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:46
msgid "Column built from other columns"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:48
msgid "Column built from other columns, behaves like tags"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:52
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:55
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:56
msgid "Create a custom column"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:64
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:67
msgid "Quick create:"
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:68
msgid "ISBN"
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:155
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:158
#: /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
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:135
msgid "Formats"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71
msgid "People's names"
msgstr ""
#:
-#: /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:76
msgid "Number"
msgstr ""
#:
-#: /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:76
msgid "Text"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:88
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:91
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:92
msgid "Edit a custom column"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:93
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:96
msgid "No column selected"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:94
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:97
msgid "No column has been selected"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:98
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:101
msgid "Selected column is not a user-defined column"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:160
msgid "My Tags"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:158
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:161
msgid "My Series"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:159
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:162
msgid "My Rating"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:160
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:163
msgid "People"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:190
msgid "Examples: The format {0:0>4d} gives a 4-digit number with leading zeros. The format {0:d} days prints the number then the word \"days\""
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:192
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:195
msgid "Examples: The format {0:.1f} gives a floating point number with 1 digit after the decimal point. The format Price: $ {0:,.2f} prints \"Price $ \" then displays the number with 2 digits after the decimal point and thousands separated by commas."
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:201
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:204
msgid "No lookup name was provided"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:205
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:208
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:208
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:211
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:218
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:221
msgid "No column heading was provided"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:228
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:231
msgid "The lookup name %s is already used"
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:243
msgid "The heading %s is already used"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:251
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:254
msgid "You must enter a template for composite columns"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:260
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:263
msgid "You must enter at least one value for enumeration columns"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:264
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:267
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:268
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:271
msgid "The value \"{0}\" is in the list more than once"
msgstr ""
#:
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:276
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:279
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:281
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:284
msgid "The color {0} is unknown"
msgstr ""
@@ -11132,7 +11187,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:321
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:325
msgid "No matches"
msgstr ""
@@ -11690,31 +11745,31 @@ msgstr ""
msgid "Cannot remove the actions %s from this location"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:99
-msgid "Customize the actions in:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:100
-msgid "A&vailable actions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:101
-msgid "&Current actions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:102
-msgid "Move selected action up"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:104
-msgid "Move selected action down"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:107
-msgid "Add selected actions to toolbar"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:108
+msgid "Choose the &toolbar to customize:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:109
+msgid "A&vailable actions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:110
+msgid "&Current actions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:111
+msgid "Move selected action up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:113
+msgid "Move selected action down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:116
+msgid "Add selected actions to toolbar"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:118
msgid "Remove selected actions from toolbar"
msgstr ""
@@ -12251,19 +12306,19 @@ msgstr ""
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:105
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:107
msgid "Buying from this store supports the calibre developer: %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:261
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:265
msgid "Customize get books search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:271
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:275
msgid "Configure search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:321
+#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:325
msgid "Couldn't find any books matching your query."
msgstr ""
@@ -12395,7 +12450,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:436
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:448
msgid "Searches"
msgstr ""
@@ -12816,114 +12871,114 @@ msgstr ""
msgid "No results found for:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:40
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:41
msgid "Options to customize the ebook viewer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:47
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:783
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:794
msgid "Remember last used window size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:49
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:96
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:50
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:97
msgid "Set the user CSS stylesheet. This can be used to customize the look of all books."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:51
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:52
msgid "Maximum width of the viewer window, in pixels."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54
msgid "Resize images larger than the viewer window to fit inside it"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55
msgid "Hyphenate text"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:56
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:57
msgid "Default language for hyphenation rules"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:58
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:59
msgid "Save the current position in the document, when quitting"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:60
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:61
msgid "Have the mouse wheel turn pages"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:62
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:63
msgid "The time, in seconds, for the page flip animation. Default is half a second."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:66
msgid "Font options"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:68
msgid "The serif font family"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:70
msgid "The sans-serif font family"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:72
msgid "The monospaced font family"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:73
msgid "The standard font size in px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:74
msgid "The monospaced font size in px"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:75
msgid "The standard font type"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:125
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:126
msgid "Still editing"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:126
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:127
msgid "You are in the middle of editing a keyboard shortcut first complete that, by clicking outside the shortcut editing box."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:534
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536
msgid "&Lookup in dictionary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:540
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141
msgid "Go to..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:550
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:552
msgid "Next Section"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:551
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:553
msgid "Previous Section"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:553
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:555
msgid "Document Start"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:554
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:556
msgid "Document End"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:556
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:558
msgid "Section Start"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:557
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:559
msgid "Section End"
msgstr ""
@@ -12979,91 +13034,105 @@ msgstr ""
msgid "Book format"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:198
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:199
msgid "Position in book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:205
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206
msgid "Go to a reference. To get reference numbers, use the reference mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:214
msgid "Search for text in book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:292
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:293
msgid "Print Preview"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:304
msgid "Clear list of recently opened books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:361
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:366
msgid "Connecting to dict.org to lookup: %s…"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:467
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:472
msgid "Choose ebook"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:468
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:473
msgid "Ebooks"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:495
+msgid ""
+"Make font size %s\n"
+"Current magnification: %.1f"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497
+msgid "larger"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499
+msgid "smaller"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515
msgid "No matches found for: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:552
msgid "Loading flow..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:579
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:590
msgid "Laying out %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:610
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:621
msgid "Bookmark #%d"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:614
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:625
msgid "Add bookmark"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:615
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:626
msgid "Enter title for bookmark:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:625
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:636
msgid "Manage Bookmarks"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:665
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:676
msgid "Loading ebook..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:677
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:688
msgid "Could not open ebook"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:781
msgid "Options to control the ebook viewer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:788
msgid "If specified, viewer window will try to come to the front when started."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:780
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791
msgid "If specified, viewer window will try to open full screen when started."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:785
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:796
msgid "Print javascript alert and console messages to the console"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791
+#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:802
msgid ""
"%prog [options] file\n"
"\n"
@@ -13179,11 +13248,11 @@ msgstr ""
msgid "Select location for books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:671
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:678
msgid "You must choose an empty folder for the calibre library. %s is not empty."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:745
+#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:752
msgid "welcome wizard"
msgstr ""
@@ -13427,31 +13496,31 @@ msgid "Turn on the &content server"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:567
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:591
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:568
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:582
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:592
msgid "checked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:161
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:567
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:581
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:591
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:568
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:582
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:592
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:216
msgid "yes"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:566
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:588
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:567
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:579
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:589
msgid "unchecked"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/caches.py:163
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:566
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:578
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:588
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:567
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:579
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:589
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:216
msgid "no"
msgstr ""
@@ -13473,17 +13542,17 @@ msgstr ""
msgid "daysago"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:568
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:585
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:586
msgid "blank"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:568
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:585
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:586
msgid "empty"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/caches.py:569
+#: /home/kovid/work/calibre/src/calibre/library/caches.py:570
msgid "Invalid boolean query \"{0}\""
msgstr ""
@@ -14229,11 +14298,11 @@ msgid ""
"For help on an individual command: %%prog command --help\n"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:594
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:610
msgid "No label was provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:596
+#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:612
msgid "The label must contain only lower case letters, digits and underscores, and start with a letter"
msgstr ""
@@ -14241,35 +14310,35 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1052
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3143
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3172
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3189
msgid "Compacting database"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:148
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "Ratings"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:181
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:196
msgid "Identifiers"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:191
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:206
msgid "Author Sort"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:301
+#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:318
msgid "Title Sort"
msgstr ""
@@ -14476,7 +14545,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:340
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:612
-#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:573
+#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:576
msgid "Newest"
msgstr ""
@@ -14534,15 +14603,15 @@ msgstr ""
msgid "A permanent link to this book"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:779
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:780
msgid "This book has been deleted"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:865
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:866
msgid "in search"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:867
+#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:868
msgid "Matching books"
msgstr ""
@@ -14595,15 +14664,15 @@ msgstr ""
msgid "SERIES: %s [%s] "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:267
+#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:270
msgid "Books in your library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:273
+#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:276
msgid "By "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:274
+#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:277
msgid "Books sorted by "
msgstr ""
@@ -14620,75 +14689,75 @@ msgstr ""
msgid "Whenever you pass arguments to %prog that have spaces in them, enclose the arguments in quotation marks."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:375
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:374
msgid "Path to the database in which books are stored"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:377
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:376
msgid "Pattern to guess metadata from filenames"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:379
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:378
msgid "Access key for isbndb.com"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:381
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:380
msgid "Default timeout for network operations (seconds)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:383
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:382
msgid "Path to directory in which your library of books is stored"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:385
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:384
msgid "The language in which to display the user interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:387
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:386
msgid "The default output format for ebook conversions."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:391
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:390
msgid "Ordered list of formats to prefer for input."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:393
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:392
msgid "Read metadata from files"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:395
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:394
msgid "The priority of worker processes. A higher priority means they run faster and consume more resources. Most tasks like conversion/news download/adding books/etc. are affected by this setting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:400
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:399
msgid "Swap author first and last names when reading metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:402
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:401
msgid "Add new formats to existing book records"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:404
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:403
msgid "Tags to apply to books added to the library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:408
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:407
msgid "List of named saved searches"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:408
msgid "User-created tag browser categories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:411
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:410
msgid "How and when calibre updates metadata on the device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:413
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:412
msgid "When searching for text without using lookup prefixes, as for example, Red instead of title:Red, limit the columns searched to those named below."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:418
+#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:417
msgid "Choose columns to be searched when not using prefixes, as for example, when searching for Redd instead of title:Red. Enter a list of search/lookup names separated by commas. Only takes effect if you set the option to limit search columns above."
msgstr ""
@@ -14912,7 +14981,7 @@ msgstr ""
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:742
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
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 ""
@@ -14932,147 +15001,147 @@ msgstr ""
msgid "Working..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:98
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:103
msgid "Brazilian Portuguese"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:99
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:104
msgid "English (UK)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:100
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105
msgid "Simplified Chinese"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:101
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:106
msgid "Chinese (HK)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:102
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:107
msgid "Traditional Chinese"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:103
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:108
msgid "English"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:104
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:109
msgid "English (Australia)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:110
msgid "English (New Zealand)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:106
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:111
msgid "English (Canada)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:107
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:112
msgid "English (India)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:108
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:113
msgid "English (Thailand)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:109
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:114
msgid "English (Cyprus)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:110
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:115
msgid "English (Czechoslovakia)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:111
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116
msgid "English (Pakistan)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:112
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117
msgid "English (Croatia)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:113
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118
msgid "English (Indonesia)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:114
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119
msgid "English (Israel)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:115
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120
msgid "English (Singapore)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121
msgid "English (Yemen)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122
msgid "English (Ireland)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123
msgid "English (China)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "Spanish (Paraguay)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125
msgid "Spanish (Uruguay)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126
msgid "Spanish (Argentina)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127
msgid "Spanish (Mexico)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128
msgid "Spanish (Cuba)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129
msgid "Spanish (Chile)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130
msgid "Spanish (Ecuador)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131
msgid "Spanish (Honduras)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132
msgid "Spanish (Venezuela)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133
msgid "Spanish (Bolivia)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134
msgid "Spanish (Nicaragua)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135
msgid "German (AT)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136
msgid "French (BE)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137
msgid "Dutch (NL)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138
msgid "Dutch (BE)"
msgstr ""
@@ -15132,7 +15201,7 @@ msgstr ""
msgid "Failed to authenticate with server: %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:249
+#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:253
msgid "Control email delivery"
msgstr ""
diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po
index 48361057f1..c5d453f903 100644
--- a/src/calibre/translations/cs.po
+++ b/src/calibre/translations/cs.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-22 19:29+0000\n"
"Last-Translator: Marek Sušický \n"
"Language-Team: Czech \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:40+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:36+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Nedělá vůbec nic"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Nedělá vůbec nic"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Nedělá vůbec nic"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -784,7 +784,7 @@ msgstr "Protokol ladění"
msgid "Communicate with Android phones."
msgstr "Komunikace s telefony Android."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -792,7 +792,7 @@ msgstr ""
"Seznam adresářů oddělený čárkami k odeslání elektronických knih do zařízení. "
"Bude použit první nalezený."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Komunikovat s telefony S60."
@@ -861,14 +861,14 @@ msgstr "Záznamy metadat v zařízení se aktualizují..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d z %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "dokončeno"
@@ -891,7 +891,7 @@ msgstr ""
"Některé obálky nelze převést.\n"
"Pro zobrazení seznamu klepněte na 'Zobrazit podrobnosti'."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -900,22 +900,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Zprávy"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalog"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Komunikovat s iTunes."
@@ -1282,11 +1282,11 @@ msgstr "Komunikace s Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "Komunikace s Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Komunikace s EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Komunikace s Nextbook Reader"
@@ -2985,33 +2985,33 @@ msgstr ""
"Rozbalit běžné formáty elektronických knih z archivů (zip/rar). Také se "
"pokusit automaticky rozpoznat, zda se opravdu jedná o soubory cbz/cbr."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "CHYBA ŠABLONY"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Ne"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Ano"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3020,35 +3020,35 @@ msgstr "Ano"
msgid "Title"
msgstr "Název"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autoři"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Vydavatel"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Producent"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Komentáře"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3056,34 +3056,34 @@ msgstr "Komentáře"
msgid "Tags"
msgstr "Štítky"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Série"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Jazyk"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Časové razítko"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Vydáno"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Práva"
@@ -3261,7 +3261,7 @@ msgstr ""
msgid "Metadata source"
msgstr "Zdroj meta dat"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3443,7 +3443,7 @@ msgid "HTML TOC generation options."
msgstr "Volby generátoru obsahu HTML"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4730,53 +4730,55 @@ msgid "Choose formats to be deleted"
msgstr "Vyberte formáty, které nechcete smazat"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Vyberte formáty, které chcete smazat"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Není možné smazat knihy"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Není připojeno žádné zařízení"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Hlavní paměť"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Paměťová karta A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Paměťová karta B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Žádné knihy ke smazání"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Žádné knihy z vybraných nejsou na zařízení"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Mažu knihy ze zařízení."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4784,7 +4786,7 @@ msgstr ""
"Vybrané knihy budou trvale odstraněny a soubory smazány z vaše "
"calibre knihovny. Jste si jisti?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4910,8 +4912,8 @@ msgstr "Nepodařilo se stáhnout metadata"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr "Stahování selhalo"
@@ -4940,7 +4942,7 @@ msgid "Download complete"
msgstr "Stahování dokončeno"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -5015,11 +5017,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5655,7 +5657,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Kolekce"
@@ -5767,7 +5769,7 @@ msgstr "výstup"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8093,19 +8095,19 @@ msgid "&Profile:"
msgstr "&Profil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "&OK"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "&Zrušit"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Edituj komentáře"
@@ -8149,8 +8151,8 @@ msgid "Location"
msgstr "Umístění"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8182,7 +8184,7 @@ msgstr "Třídění podle autora"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Nebyly nalezeny žádné výsledky"
@@ -8325,14 +8327,14 @@ msgid "Copied"
msgstr "Kopírováno"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Kopírovat do schránky"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr "Zobrazit log"
@@ -9424,7 +9426,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr "Jméno již bylo použito"
@@ -9607,110 +9609,66 @@ msgstr "Přejmenovat položku v každé knize, ve které je použita."
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr "&Dokumentace:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr "Python kód:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Upravit šablonu"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Otestovat nastavení emailu"
@@ -10141,7 +10099,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Prohlížeč obálek"
@@ -10150,7 +10108,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Prohlížeč tagů"
@@ -10178,7 +10136,7 @@ msgstr "Nalezena nová verze"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Podrobnosti o knize"
@@ -10279,7 +10237,7 @@ msgid "Show books in the main memory of the device"
msgstr "Zobrazit knihy z hlavní paměti zařízení"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Karta A"
@@ -10288,7 +10246,7 @@ msgid "Show books in storage card A"
msgstr "Zobrazit knihy na paměťové kartě A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Karta B"
@@ -10336,45 +10294,45 @@ msgstr "Zkopírovat právě hledaný text (namísto hledání názvu)"
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "Na zařízení"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Velikost (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr "Změněno"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "Hledaný název je \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "UUID knihy je \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "V knihovně"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Velikost"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Označeno ke smazání"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Dvakrát klikněte na upravit mě
"
@@ -10930,7 +10888,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11052,15 +11010,15 @@ msgstr "&Komentáře"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11068,27 +11026,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11096,35 +11054,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Stáhnout obálku..."
@@ -11344,6 +11302,219 @@ msgstr "Použít interní &prohlížeč pro:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Vyresetovat všechny zakázané potvrzovací dialogy"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Musíte vybrat sloupec pro odstranění"
@@ -11845,187 +12016,138 @@ msgstr ""
msgid "new email address"
msgstr "nová emailová adresa"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Úzký"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Široký"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Malé"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Velké"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Střední"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Vždy"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Nikdy"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "Podle prvního písmena"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Deaktivováno"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr "Rozděleno"
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "&Rozvržení uživatelského rozhraní (vyžaduje restart):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Vyberte &jazyk (vyžaduje restart):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "Zobrazit &ikonu v sýstémové liště (vyžaduje restart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr ""
"Zablokovat všechny animace. Použitelné, pokud máte starý-pomalý počítač."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Zablokovat &animace"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Zablokovat oznámení v systémové liště"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Zobrazit úvodní obrazovku při startu"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "&Nástrojová lišta"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "Velikost ikon:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Zobrazit text pod ikonami:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "Změnit &font (vyžaduje restart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Použít římské číslice pro série"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12034,26 +12156,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Zobrazit &průměrné hodnocení v prohlížeči tagů"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12063,38 +12185,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr "Zobrazit prohlížeč &obálek v samostatném okně (vyžaduje restart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr "Počet obálek zobraze&ných v režimu prohlížení (vyžaduje restart):"
-#: /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"
@@ -12161,11 +12259,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12887,7 +12985,7 @@ msgstr ""
"Myhostname označuje název hostitele nebo IP adresu počítače, kde Calibre "
"běží."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12955,31 +13053,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr "Funkce šablon"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr "Nelze smazat zabudovanou funkci"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr "Funkce není definována"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr "Výjimka během kompilování funkce"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr "zdrojový kód funkce nedostupný"
@@ -13771,7 +13871,7 @@ msgid ""
msgstr "Změna metadat pro tak mnoho knih bude trvat dlouho. Jste si jisti?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Hledání"
@@ -15900,19 +16000,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sPrůměrné hodnocení je %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Hlavní"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr "
Migruji starou databázi do knihovy ebooků v %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Kopírování %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Zhutňování databáze"
@@ -16478,32 +16578,32 @@ msgstr "Žádná taková proměnná "
msgid "No documentation provided"
msgstr "Žádná dostupná dokumentace"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
"add(x, y) -- vrací x + y. Vyhazuje výjimku, když buď x nebo y nejsou čísla."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
@@ -16511,7 +16611,7 @@ msgstr ""
"subtract(x, y) -- vrací x - y. Vyhazuje výjimku, když buď x nebo y nejsou "
"čísla."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
@@ -16519,7 +16619,7 @@ msgstr ""
"multiply(x, y) -- vrací x * y. Vyhazuje výjimku, když buď x nebo y nejsou "
"čísla."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
@@ -16527,7 +16627,7 @@ msgstr ""
"divide(x, y) -- vrací x / y. Vyhazuje výjimku, když buď x nebo y nejsou "
"čísla."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -16537,14 +16637,14 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
@@ -16552,24 +16652,24 @@ msgstr ""
"assign(id, val) -- přiřadí val do id, pak vrátí val. id musí být "
"identifikátor, ne výraz"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr "field(name) -- vrací metadata pole pojmenované name"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16579,7 +16679,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16589,24 +16689,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -16615,11 +16715,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr "přepnutí potřebuje lichý počet parametrů"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16627,7 +16727,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16636,14 +16736,25 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
msgid ""
"ifempty(val, text if empty) -- return val if val is not empty, otherwise "
"return `text if empty`"
@@ -16651,7 +16762,7 @@ msgstr ""
"ifempty(val, text if empty) -- vrací val, když je val neprázdné, jinak vrací "
"`text if empty`"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16665,7 +16776,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16673,7 +16784,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16682,19 +16793,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16702,95 +16813,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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\""
+"each such item extracting the start_index` to the `end_index` 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:523
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
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"
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:551
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:612
msgid "uppercase(val) -- return value of the field in upper case"
msgstr "uppercase(val) -- vrací hodnotu pole velkými písmeny"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
msgid "lowercase(val) -- return value of the field in lower case"
msgstr "lowercase(val) -- vrací hodnotu pole malými písmeny"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
msgid "titlecase(val) -- return value of the field in title case"
msgstr "titlecase(val) -- vrací hodnotu pole s prvním velkým písmenem"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid "capitalize(val) -- return value of the field capitalized"
msgstr "capitalize(val) -- vrací hodnotu pole kapitálkami"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -17333,11 +17442,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -17355,11 +17464,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -17378,11 +17487,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -17410,11 +17537,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -17425,11 +17552,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -17450,11 +17577,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -17474,11 +17601,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -17495,11 +17622,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -17513,11 +17640,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -17530,11 +17657,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17605,11 +17732,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -17636,26 +17763,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -17674,11 +17801,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17690,11 +17817,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17702,11 +17829,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17716,11 +17843,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17734,11 +17861,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17746,11 +17873,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17759,33 +17886,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17795,11 +17922,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17810,11 +17937,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -19537,6 +19664,9 @@ msgstr ""
#~ msgid "Check database integrity"
#~ msgstr "Kontrola integrity databáze"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Vyberte formáty, které chcete smazat"
+
#~ msgid ""
#~ "Specify the character encoding of the output document. The default is utf-8. "
#~ "Note: This option is not honored by all formats."
diff --git a/src/calibre/translations/da.po b/src/calibre/translations/da.po
index 8f816b4363..d56f5a62a2 100644
--- a/src/calibre/translations/da.po
+++ b/src/calibre/translations/da.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-22 18:57+0000\n"
"Last-Translator: Claus Dam Nielsen \n"
"Language-Team: Danish \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:41+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:37+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Gør absolut ingenting"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Gør absolut ingenting"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Gør absolut ingenting"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -787,7 +787,7 @@ msgstr "Fejlsøgnings log"
msgid "Communicate with Android phones."
msgstr "Kommunikér med Android telefoner"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -795,7 +795,7 @@ msgstr ""
"Komma separeret liste af mapper til at sende e-bøger til, på enheden. Den "
"første som findes, vil blive brugt."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Kommunikér med S60 telefoner."
@@ -864,14 +864,14 @@ msgstr "Opdaterer enhed metadata listen..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d af %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "afsluttet"
@@ -894,7 +894,7 @@ msgstr ""
"Nogle omslagsdele kunne ikke konverteres.\n"
"Klik 'Show Details' for en liste."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -903,22 +903,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Nyheder"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalog"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Kommunikér med iTunes."
@@ -1278,11 +1278,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2924,33 +2924,33 @@ msgstr ""
"Ekstrahér almindelige e-bogsformater fra arkiver (zip/rar)-filer. Prøv også "
"at auto-detektere om de er cbz/cbr-filer."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "TEMPLATE ERROR"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Nej"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Ja"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2959,35 +2959,35 @@ msgstr "Ja"
msgid "Title"
msgstr "Titel"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Forfatter(e)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Udgiver"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Producer"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Kommentarer"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2995,34 +2995,34 @@ msgstr "Kommentarer"
msgid "Tags"
msgstr "Mærker"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Serier"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Sprog"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Tidsstempel"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Udgivet"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Rettigheder"
@@ -3202,7 +3202,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3386,7 +3386,7 @@ msgid "HTML TOC generation options."
msgstr "HTML indholdsfortegnelse genereringsmuligheder."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4657,53 +4657,55 @@ msgid "Choose formats to be deleted"
msgstr "Vælg formater der skal slettes"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Vælg formater der ikke skal slettes"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Kan ikke slette bøger"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Ingen enhed forbundet"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Arbejdshukommelse"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Hukommelsekort A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Hukommelsekort B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Ingen bøger at slette"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Ingen af de valgte bøger findes på enheden"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Sletter bøger fra enheden"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4711,7 +4713,7 @@ msgstr ""
"De valgte bøger vil blive permanent slettet og filerne fjernes fra "
"dit calibre-bibliotek. Er du sikker?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4837,8 +4839,8 @@ msgstr "Hentning af metadata fejlede"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4867,7 +4869,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4944,11 +4946,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5586,7 +5588,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Samlinger"
@@ -5698,7 +5700,7 @@ msgstr "output"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8027,19 +8029,19 @@ msgid "&Profile:"
msgstr "&Profil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "&OK"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "&Annullér"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Redigér kommentar"
@@ -8083,8 +8085,8 @@ msgid "Location"
msgstr "Placering"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8116,7 +8118,7 @@ msgstr "Forfattersortering"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Ingen søgeresultater fundet"
@@ -8259,14 +8261,14 @@ msgid "Copied"
msgstr "Kopieret"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Kopiér til udklipsholder"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9379,7 +9381,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9563,110 +9565,66 @@ msgstr "Omdøb emnet i bøger hvor det er brugt."
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Redigér skabelon"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Test e-mail indstillinger"
@@ -10105,7 +10063,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "omslags-browser"
@@ -10114,7 +10072,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Mærke-browser"
@@ -10142,7 +10100,7 @@ msgstr "Opdatering fundet"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "bog detaljer"
@@ -10243,7 +10201,7 @@ msgid "Show books in the main memory of the device"
msgstr "Vis bøger i enhedens arbejdshukommelse"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Kort A"
@@ -10252,7 +10210,7 @@ msgid "Show books in storage card A"
msgstr "Vis bøger i hukommelseskort A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Kort B"
@@ -10300,45 +10258,45 @@ msgstr "Kopiér aktuelle søgetekst (istedet for søgenavnet)"
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "På enhed"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Størrelse (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "Opslaget/søgenavn er \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "Denne bogs UUID er \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "I bibliotek"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Størrelse"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Markeret til sletning"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Dobbeltklik for at redigere mig
"
@@ -10898,7 +10856,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11020,15 +10978,15 @@ msgstr "&Kommentarer"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11036,27 +10994,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11064,35 +11022,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Henter omslag..."
@@ -11314,6 +11272,219 @@ msgstr "Brug intern &viser for:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Nulstil alle deaktiverede &bekræftigelsesdialoger"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Du må vælge en kolonne for at slette den"
@@ -11818,187 +11989,138 @@ msgstr ""
msgid "new email address"
msgstr "ny e-mail adresse"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Smal"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Bred"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Lille"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Stor"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Medium"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Altid"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Aldrig"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "Brugergrænseflade &layout (behøver genstart):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Vælg &sprog (kræver genstart):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "Aktivér s&tatusikon (kræver genstart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr ""
"Deaktivér alle animationer. Nyttigt hvis du har en gammel/langsom computer."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Deaktivér &animationer"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Deaktivér &adviseringer i systembakke"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Vis &startskærm ved opstart"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "&Værktøjslinje"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "&Ikonstørrelse:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Vis &tekst under ikoner:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Anvend &romerske tal til serier"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12007,26 +12129,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Vis &middelvurderinger i mærkefremviseren"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12036,38 +12158,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr "Vis omslagfremviseren i et separat vindue (kræver genstart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr "&Antal viste omslag i fremviseren (kræver genstart):"
-#: /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"
@@ -12134,11 +12232,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12895,7 +12993,7 @@ msgstr ""
"din iPhone. Her skal mitværtsnavn være det fuldt kvalificerede domænenavn "
"(FQDN) eller IP-adressen på computeren, calibre kører på."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12963,31 +13061,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13783,7 +13883,7 @@ msgstr ""
"sikker?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Søgninger"
@@ -16035,19 +16135,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sMiddel vurderingen er %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Main/hjem/primær"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr "
Flytter gammel database til e-bogsbibliotek i %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Kopierer %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Komprimerer database"
@@ -16635,49 +16735,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -16687,37 +16787,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16727,7 +16827,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16737,24 +16837,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr "opslag forudsætter enten 2 eller et ulige antal parametre"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -16763,11 +16863,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr "switch forudsætter et ulige antal parametre"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16775,7 +16875,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16784,20 +16884,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16811,7 +16922,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16819,7 +16930,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16828,19 +16939,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16848,95 +16959,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -17481,11 +17590,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -17503,11 +17612,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -17526,11 +17635,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -17558,11 +17685,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -17573,11 +17700,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -17598,11 +17725,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -17622,11 +17749,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -17643,11 +17770,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -17661,11 +17788,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -17678,11 +17805,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17753,11 +17880,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -17784,26 +17911,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -17822,11 +17949,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17838,11 +17965,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17850,11 +17977,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17864,11 +17991,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17882,11 +18009,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17894,11 +18021,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr "Antal sekunder der skal ventes inden email sendes"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17907,33 +18034,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17943,11 +18070,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17958,11 +18085,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -19609,6 +19736,9 @@ msgstr ""
#~ msgstr ""
#~ "Nogle dubletter blev fundet og flettet ind i følgende eksisterende bøger:"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Vælg formater der ikke skal slettes"
+
#~ msgid "social metadata"
#~ msgstr "Sociale metadata"
diff --git a/src/calibre/translations/de.po b/src/calibre/translations/de.po
index 762073ba30..ceea127f8a 100644
--- a/src/calibre/translations/de.po
+++ b/src/calibre/translations/de.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
-"PO-Revision-Date: 2011-06-02 23:22+0000\n"
-"Last-Translator: Rainer Kalthoff \n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
+"PO-Revision-Date: 2011-06-06 13:20+0000\n"
+"Last-Translator: olaf hohenschon \n"
"Language-Team: American English \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-06-03 04:37+0000\n"
+"X-Launchpad-Export-Date: 2011-06-07 04:33+0000\n"
"X-Generator: Launchpad (build 12959)\n"
"Generated-By: pygettext.py 1.5\n"
@@ -49,10 +49,10 @@ msgstr "Macht absolut gar nichts"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -77,7 +77,7 @@ msgstr "Macht absolut gar nichts"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -147,32 +147,32 @@ msgstr "Macht absolut gar nichts"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -799,7 +799,7 @@ msgstr "Debug-Log"
msgid "Communicate with Android phones."
msgstr "Kommunikation mit Android-Telefonen."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -807,7 +807,7 @@ msgstr ""
"Durch Kommata getrennte Liste von Verzeichnissen an die eBooks auf das Gerät "
"gesendet werden. Das erste vorhandene wird benutzt"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Kommunikation mit S60-Telefonen."
@@ -890,14 +890,14 @@ msgstr "Aktualisiere die Liste der Geräte-Metadaten..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d von %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "abgeschlossen"
@@ -920,7 +920,7 @@ msgstr ""
"Einige Umschlagbilder konnten nicht konvertiert werden.\n"
"Klicken Sie 'Zeige Details' für eine Liste."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -929,22 +929,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Nachrichten"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalog"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Kommunikation mit iTunes."
@@ -1322,11 +1322,11 @@ msgstr "Kommunikation mit dem Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "Kommunikation mit dem Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Kommunikation mit dem EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Kommunikation mit dem Nextbook Reader"
@@ -3117,33 +3117,33 @@ msgstr ""
"Extrahiere bekannte eBook-Formate aus Archivdateien (ZIP/RAR). Versuche "
"zudem zu erkennen, ob diese Dateien eventuell CBZ/CBR Dateien sind."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
-msgstr ""
+msgstr "Wert: Unbekanntes Feld "
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "Vorlagenfehler"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Nein"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Ja"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3152,35 +3152,35 @@ msgstr "Ja"
msgid "Title"
msgstr "Titel"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autor(en)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Herausgeber"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Produzent"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Bemerkung"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3188,34 +3188,34 @@ msgstr "Bemerkung"
msgid "Tags"
msgstr "Etiketten (Tags)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Reihe"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Sprache"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Zeitstempel"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Veröffentlicht"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Rechte"
@@ -3390,7 +3390,7 @@ msgstr "Folgende Amazon-Webseite benutzen:"
#: /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 ""
+msgstr "Metadaten werden von der dem Land zugehörigen Amazon Website geholt."
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:531
msgid "Amazon timed out. Try again later."
@@ -3402,13 +3402,13 @@ msgstr ""
msgid "Metadata source"
msgstr "Metadaten- Quelle"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr "Lädt Metadaten und Cover von Douban.com"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:160
msgid "Downloads metadata and covers from Google Books"
-msgstr ""
+msgstr "Lädt Metadaten und Cover von Google Books"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:27
msgid "Downloads metadata from isbndb.com"
@@ -3443,7 +3443,7 @@ msgstr "Umschläge von The Open Library herunterladen"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:33
msgid "Downloads metadata and covers from Overdrive's Content Reserve"
-msgstr ""
+msgstr "Lädt Metadaten und Cover von Overdrive's Content Reserve"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:45
msgid "Download all metadata (slow)"
@@ -3452,6 +3452,7 @@ msgstr "Lädt alle Metadaten (langsam)"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:46
msgid "Enable this option to gather all metadata available from Overdrive."
msgstr ""
+"Einschalten dieser option um alle Metadaten von Overdrive zu sammeln."
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:49
msgid ""
@@ -3591,7 +3592,7 @@ msgid "HTML TOC generation options."
msgstr "Einstellungen zur Erstellung von HTML-Inhaltsverzeichnissen."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -3921,7 +3922,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
msgid "The orientation of the page. Default is portrait. Choices are %s"
-msgstr "Ausrichtung der Seite. Voreinstellung ist Porträt. Wählbar ist %s"
+msgstr "Ausrichtung der Seite. Voreinstellung ist Querformat. Wählbar ist %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
msgid ""
@@ -4501,7 +4502,7 @@ msgstr "Nicht unterstützt"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:57
msgid "Fetching annotations is not supported for this device"
-msgstr ""
+msgstr "Das holen von Anmerkungen wird für dieses Gerät nicht unterstützt."
#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:245
@@ -4924,47 +4925,49 @@ msgid "Choose formats to be deleted"
msgstr "Zu löschende Formate auswählen"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Nicht zu löschende Formate auswählen"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Bücher können nicht gelöscht werden"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Kein Gerät ist angeschlossen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Hauptspeicher"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Speicherkarte A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Speicherkarte B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Kein Buch zum Löschen vorhanden"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Keines der selektierten Bücher ist auf dem Gerät"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Lösche Bücher vom Gerät."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -4972,7 +4975,7 @@ msgstr ""
"Einige der ausgewählten Bücher sind auf dem angeschlossenen Gerät vorhanden. "
"Wo wollen Sie die Dateien löschen?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4980,7 +4983,7 @@ msgstr ""
"Die ausgewählten Bücher werden permanent gelöscht und die Dateien aus "
"der Calibre- Bibliothek entfernt. Sind sie sicher?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -5108,8 +5111,8 @@ msgstr "Download der Metadaten fehlgeschlagen"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr "Herunterladen fehlgeschlagen"
@@ -5145,7 +5148,7 @@ msgid "Download complete"
msgstr "Herunterladen abgeschlossen"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr "Protokoll des Herunterladens"
@@ -5243,11 +5246,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr "Geänerte Metadaten übernehmen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr "Einige Fehler"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5334,7 +5337,7 @@ msgstr "Ctrl+P"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:24
msgid "Change calibre behavior"
-msgstr ""
+msgstr "Verhalten von Calibre ändern"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:25
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:208
@@ -5511,13 +5514,13 @@ msgstr "Händler"
#: /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:270
msgid "Choose stores"
-msgstr ""
+msgstr "Händler auswählen"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:83
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:102
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:111
msgid "Cannot search"
-msgstr ""
+msgstr "Suche nicht möglich"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:130
msgid ""
@@ -5907,7 +5910,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Sammlungen"
@@ -6019,7 +6022,7 @@ msgstr "Ausgabe"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -6224,7 +6227,7 @@ msgstr " inch"
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:329
msgid "&Description note"
-msgstr ""
+msgstr "Beschreibungshinweis"
#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:330
msgid "Custom column source for note to include in Description header area"
@@ -6532,7 +6535,7 @@ msgstr "Überschreibe Bildgröße"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:118
msgid "Don't add links to &pages to the Table of Contents for CBC files"
-msgstr ""
+msgstr "Keine Seitenlinks zum Seitenverzeichniss für CBC Dateien"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19
msgid "Debug"
@@ -7578,7 +7581,7 @@ msgstr "Bildreferenzen vor der Verarbeitung nicht entfernen"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:99
msgid "Keep text color, when possible"
-msgstr ""
+msgstr "Behalte Textfarbe wenn möglich"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/txtz_output.py:12
msgid "TXTZ Output"
@@ -8403,19 +8406,19 @@ msgid "&Profile:"
msgstr "&Profil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "&OK"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "&Abbruch"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Kommentare verändern"
@@ -8459,8 +8462,8 @@ msgid "Location"
msgstr "Ort"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8498,7 +8501,7 @@ msgstr "Autorensortierung"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Keine Treffer gefunden"
@@ -8543,7 +8546,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:144
msgid "Copy to author"
-msgstr ""
+msgstr "Kopiere nach Autor"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:271
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1439
@@ -8650,14 +8653,14 @@ msgid "Copied"
msgstr "Kopiert"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "In die Zwischenablage kopieren"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr "Log-Datei anschauen"
@@ -8781,7 +8784,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:502
msgid "S/R TEMPLATE ERROR"
-msgstr ""
+msgstr "S/R Vorlagenfehler"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:648
msgid "You must specify a destination when source is a composite field"
@@ -9468,7 +9471,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:196
msgid "%s news sources"
-msgstr ""
+msgstr "%s Nachrichten Quellen"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:310
msgid "Need username and password"
@@ -9536,7 +9539,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:207
msgid "Go"
-msgstr ""
+msgstr "Los"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:208
msgid "blurb"
@@ -9770,6 +9773,8 @@ msgid ""
"See the User Manual for more help"
msgstr ""
+"Siehe hier User Manual für Hilfe"
#: /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:218
@@ -9868,7 +9873,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr "Name bereits verwendet"
@@ -10060,110 +10065,66 @@ msgstr "Element in jedem Buch, in dem es verwendet wird, umbenennen."
msgid "Ctrl+S"
msgstr "Strg+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
+msgstr "Ausnahme: "
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr "Keine Spalte gewählt"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr "Spalte angeben die eingefärbt werden soll"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr "Keine Vorlage unterstützt"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr "Spaltenfarbe setzen"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr "Vorlage Wert:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr "Funktions&name:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr "&Dokumentation:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr "Python- &Code:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
-msgid "Open Template Editor"
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:39
-msgid "Open Tag Wizard"
-msgstr "Öffne Tag-Assistent"
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:32
+msgid "Open Template Editor"
+msgstr "Öffne Vorlageneditor"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Vorlage bearbeiten"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr "Tag-Assistent"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "eMail Einstellungen testen"
@@ -10179,7 +10140,7 @@ msgstr "&Test"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub.py:100
msgid "Cannot preview"
-msgstr ""
+msgstr "Vorschau nicht möglich"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub.py:101
msgid "You must first explode the epub before previewing."
@@ -10222,7 +10183,7 @@ msgstr "ePub neu &packen"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:68
msgid "&Preview ePub"
-msgstr ""
+msgstr "& vorschau ePub"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:141
msgid "No recipe selected"
@@ -10420,6 +10381,8 @@ msgid ""
"For help with writing advanced news recipes, please visit User Recipes"
msgstr ""
+"Für Hilfe beim schreiben von erweiterten News-Rezepten, besuche bitte User Recipes"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:287
msgid "Recipe source code (python)"
@@ -10606,7 +10569,7 @@ msgid "Regular expression (?P)"
msgstr "Regulärer Ausdruck (?P)"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Cover-Browser"
@@ -10615,7 +10578,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Etiketten-Browser"
@@ -10643,7 +10606,7 @@ msgstr "Neue Version gefunden"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Buchdetails"
@@ -10744,7 +10707,7 @@ msgid "Show books in the main memory of the device"
msgstr "Zeige Bücher im Hauptspeicher des Geräts"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Karte A"
@@ -10753,7 +10716,7 @@ msgid "Show books in storage card A"
msgstr "Zeige Bücher auf Speicherkarte A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Karte B"
@@ -10802,51 +10765,51 @@ msgstr "Aktuellen Suchtext kopieren (anstelle des Namens der Suche)"
msgid "Y"
msgstr "J"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "Auf dem Gerät"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Größe (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr "Geändert"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "Der Such-Name ist \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "Die UUID dieses Buches ist \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "In der Bibliothek"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Größe"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Zum Löschen ausgewählt"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Doppelklick ermöglicht Bearbeitung
"
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:159
msgid "Hide column %s"
-msgstr "Spalte %s ausblenden"
+msgstr "Spalte verbergen %s"
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:164
msgid "Sort on %s"
@@ -10991,6 +10954,8 @@ msgid ""
"Cause a running calibre instance, if any, to be shutdown. Note that if there "
"are running jobs, they will be silently aborted, so use with care."
msgstr ""
+"Erzwingt das Ende einer eventuell laufenden Instanz von Calibre. Unbedingt "
+"beachten: Eventuell laufende Jobs werden ohne Nachfrage beendet."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:69
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:678
@@ -11167,13 +11132,15 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:192
msgid "Authors changed"
-msgstr ""
+msgstr "Autoren geändert"
#: /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 ""
+"Sie haben den Autor für dieses Buch geändert. Sie müssen die änderungen "
+"speichern bevor sie den Autoren-Manager nutzen. Änderungen speichern?"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:274
msgid ""
@@ -11210,7 +11177,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:433
msgid "&Number:"
-msgstr ""
+msgstr "&Nummer:"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:514
msgid ""
@@ -11431,7 +11398,7 @@ msgid "Downloaded metadata fields"
msgstr "Metadaten-Felder heruntergeladen"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11502,7 +11469,7 @@ msgstr "Metadaten &Herunterladen"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:202
msgid "Configure download metadata"
-msgstr ""
+msgstr "Konfigurieren des Metadaten downloads"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:206
msgid "Change how calibre downloads metadata"
@@ -11554,17 +11521,17 @@ msgstr "&Bemerkungen"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:794
msgid "Basic metadata"
-msgstr ""
+msgstr "Basis Metadaten"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr "Enthält Umschlagbild"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr "Enthält Zusammenfassung"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11577,29 +11544,29 @@ msgstr ""
"Herunterladen Umschlagbilder erhalten, und\n"
"umgekehrt."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr "Siehe auf"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr "Calibre lädt Metadaten herunter von: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr "Bitte warten"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr "Abfrage: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
"Herunterladen der Metadaten fehlgeschlagen. Wählen sie Details anzeigen für "
"Details"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11611,38 +11578,38 @@ msgstr ""
"den Nachnamen des Autors und ein einzelnes, prägnantes Wort aus dem "
"Titel.
Um das gesamte Log zu sehen, wählen sie Details anzeigen."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr "Derzeitiges Umschlagbild"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr "Suche..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr "Lade Umschlagbilder für %s herunter, bitte warten..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
"Herunterladen von Umschlagbildern fehlgeschlagen, wählen sie \"Details "
"anzeigen\" für Details."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr "Konnte für %s keine Umschlagbilder finden"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
"%d Umschlagbilder für %s gefunden, wählen sie das zu Verwendende."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr "Lade Metadaten herunter..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Lade Umschlagbild..."
@@ -11807,7 +11774,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:150
msgid "Yes/No columns have three values (Requires restart)"
-msgstr "Ja/Nein-Spalten können drei Werte annehmen (erfordert Neustart)"
+msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:151
msgid "Automatically send downloaded &news to ebook reader"
@@ -11883,6 +11850,223 @@ msgstr "Internen &Viewer verwenden für:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Zurü&cksetzen aller ausgeschalteten Bestätigungsdialoge"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr "ist Wahr"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr "ist unwahr"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr "nicht definiert"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr "hat ID"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr "hat nicht ID"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr "Ist gleich"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr "ist weniger als"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr "ist größer als"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr "hat"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr "hat Muster"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr "hat nicht Muster"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr "ist gesetzt"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr "ist nicht gesetzt"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr "ist"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr "ist nicht"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr " Spalte "
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr " wert "
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr "Gib eine Zahl ein"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr "Geben Sie ein Datum im Format YYYY-MM-DD ein"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr "Gib eine Regular Expression ein"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr "Erstelle/bearbeite regel für Spaltenfarbe"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr "Nur wenn die folgenden Bedingungen alle erfüllt sind:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr "Andere Bedingungen hinzufügen"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+"Sie können Bedingungen ausschalten wenn Sie die Eingabefelder löschen"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr "ungültiger zustand"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr "Eine bedingung für diese Regel ist ungültig: %s"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr "kein zustand"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+"Sie müssen der Regel mindestens eine Bedingung hinzufügen die nicht leer ist"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+"Sie können die Farbe der Spalten, in der Buchübersicht, einstellen durch "
+"erstellen einer Regel"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr "Regel hinzufügen"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr "Regel entfernen"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr "Ausgewählte Regel nach oben schieben"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr "Ausgewählte Regel nach unten schieben"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr "Erweiterte Regel hinzufügen"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr "Keine Regel ausgewählt"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr "Keine Regel ausgewählt für %s"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr "beseitigen"
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Sie müssen eine Spalte auswählen, um sie zu löschen"
@@ -11918,12 +12102,12 @@ msgstr "Benutzerdefinierte Spalte entfernen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:92
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:86
msgid "Add a user-defined column"
-msgstr "Benutzerdefinierte Spalte hinzufügen"
+msgstr "Erstelle Benutzerdefinierte Spalte"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:94
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:88
msgid "Edit settings of a user-defined column"
-msgstr "Einstellungen einer benutzerdefinierten Spalte ändern"
+msgstr "Einstellungen der Benutzerdefinierten Spalte ändern"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:96
msgid "Move column down"
@@ -12027,7 +12211,7 @@ msgstr "Text"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:88
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:89
msgid "Edit a custom column"
-msgstr ""
+msgstr "Benutzerdefinierte Spalte bearbeiten"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:93
msgid "No column selected"
@@ -12043,19 +12227,19 @@ msgstr "Die gewählte Spalte ist keine benutzerdefinierte Spalte"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:157
msgid "My Tags"
-msgstr ""
+msgstr "Meine Tags"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:158
msgid "My Series"
-msgstr ""
+msgstr "Meine Serien"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:159
msgid "My Rating"
-msgstr ""
+msgstr "Meine Bewertungen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:160
msgid "People"
-msgstr ""
+msgstr "Personen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:187
msgid ""
@@ -12131,7 +12315,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:281
msgid "The color {0} is unknown"
-msgstr ""
+msgstr "Die Farbe {0} ist unbekannt"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:217
msgid "&Lookup name"
@@ -12185,10 +12369,12 @@ msgstr "Markierungen anzeigen"
msgid ""
"Check this box if this column contains names, like the authors column."
msgstr ""
+"Aktivieren Sie dieses Kontrollkästchen wenn die Spalte Namen enthält wie "
+"z.b. die Spalte Autoren"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:228
msgid "Contains names"
-msgstr ""
+msgstr "Beinhaltet Namen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:229
msgid ""
@@ -12237,7 +12423,7 @@ msgstr "&Datumsformat"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:242
msgid "Format for &numbers"
-msgstr ""
+msgstr "Format für &Nummern"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:243
msgid "&Template"
@@ -12263,6 +12449,7 @@ msgstr "&Spalten sortieren/durchsuchen nach"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:248
msgid "How this column should handled in the GUI when sorting and searching"
msgstr ""
+"Spaltenbehandlung in der Benutzeroberfläche bei >sortieren< oder >suchen<"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:249
msgid "If checked, this column will appear in the tags browser as a category"
@@ -12318,24 +12505,27 @@ msgstr "Fehlersuche bei der Geräteerkennung"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:31
msgid "Getting device information"
-msgstr ""
+msgstr "Hole Geräte Informationen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:34
msgid "User-defined device information"
-msgstr ""
+msgstr "Benutzerdefinierte Geräteinformationen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:51
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:57
msgid "Device Detection"
-msgstr ""
+msgstr "Geräteerkennung"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:52
msgid "Ensure your device is disconnected, then press OK"
msgstr ""
+"Vergewissern Sie sich, dass das Gerät nicht angeschlossen ist. Dann klicken "
+"Sie OK"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:58
msgid "Ensure your device is connected, then press OK"
msgstr ""
+"Vergewissern Sie sich, dass das Gerät angeschlossen ist. Dann klicken Sie OK"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:88
msgid ""
@@ -12403,178 +12593,129 @@ msgstr ""
msgid "new email address"
msgstr "Neue eMail-Adresse"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Schmal"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Breit"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
-msgstr ""
+msgstr "Aus"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Klein"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Groß"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Mittel"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Immer"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
-msgid "If there is enough room"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+msgid "If there is enough room"
+msgstr "Falls genug Platz ist"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Nie"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "Nach Anfangsbuchstaben"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Ausgeschaltet"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr "Gruppiert"
-#: /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:166
+msgid "Column coloring"
+msgstr "Spalten farbe"
-#: /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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "Aussehen der Benutzeroberf&läche (Neustart erforderlich):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Sprache wäh&len (erfordert Neustart):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
"Symbol im Sys&tembereich der Kontrollleiste aktivieren (erfordert Neustart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr ""
"Alle Animationen ausschalten. Hilfreich bei langsamen/alten Rechnern."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Animationen &ausschalten"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "&Benachrichtigungen im Systemtray deaktivieren"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Spla&sh-Screen beim Starten anzeigen"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "Symbolleis&te"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "&Symbolgröße:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "&Text unter Symbolen anzeigen:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "Interface-Schriftart:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "Ändere &font (Neustart erforderlich)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
-msgstr ""
+msgstr "Benutzeroberfläche"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr "Angezeigte Metadaten auswählen"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr "Nach oben verschieben"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr "Nach unten verschieben"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "&Römische Zahlen für Serien verwenden"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
msgid ""
"Note that comments will always be displayed at the end, regardless of "
"the position you assign here."
@@ -12582,11 +12723,11 @@ msgstr ""
"Beachten Sie, dass Kommentare immer am Ende angezeigt werden - "
"unabhängig von der Position, die Sie hier zuweisen."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr "Art der &Gruppierung im Etiketten-Browser:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12601,11 +12742,11 @@ msgstr ""
"aus Gruppen fester Größe zu erhalten. Wählen Sie \"Ausgeschaltet\", \n"
"wenn Sie keine Unterkategorien benötigen."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr "&Einklappen bei mehr Einträgen als:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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 "
@@ -12617,15 +12758,15 @@ msgstr ""
"gesetzt wurde,\n"
"wird dieser Wert ignoriert."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Zeige durchschnittliche &Bewertungen im Etiketten-Browser"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr "Kategorien mit &hierarchischen Einträgen:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12635,40 +12776,16 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr "Zeige Cover-Ansicht in einem eigenen Fenster (erfordert Neustart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr ""
"A&nzahl der anzuzeigenden Umschlagbilder in der Cover-Ansicht (erfordert "
"Neustart):"
-#: /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"
@@ -12729,19 +12846,19 @@ msgstr "Diese Quelle muss konfiguriert werden"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:148
msgid "Published date"
-msgstr ""
+msgstr "Veröffentlichungs Datum"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:241
msgid "Configure %s %s"
-msgstr ""
+msgstr "Konfigurieren %s %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr "Keine Quelle ausgewählt"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
-msgstr ""
+msgstr "Keine Quelle ausgewählt, kann nicht konfigurieren"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:110
msgid "Metadata sources"
@@ -12779,7 +12896,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:117
msgid "&Select all"
-msgstr ""
+msgstr "&Alles auswählen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:118
msgid "&Clear all"
@@ -12855,7 +12972,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:62
msgid "Max. simultaneous conversion/news download jobs:"
-msgstr ""
+msgstr "Max. gleichzeitige Konvertierungen/Nachrichten-Downloads"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:63
msgid "Limit the max. simultaneous jobs to the available CPU &cores"
@@ -12889,7 +13006,7 @@ msgstr "Aktuell angeschlossenes Gerät: Keines"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:187
msgid "That format and device already has a plugboard."
-msgstr ""
+msgstr "Format und Gerät haben schon eine Metadaten-Schalttafel"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:199
msgid "Possibly override plugboard?"
@@ -12900,6 +13017,8 @@ msgid ""
"A more general plugboard already exists for that format and device. Are you "
"sure you want to add the new plugboard?"
msgstr ""
+"Es gibt schon eine allgemeinere Schalttafel für dieses Format und Gerät. Sie "
+"sind sicher, dass Sie die neue Schalttafel hinzufügen wollen?"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:212
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:234
@@ -12911,16 +13030,20 @@ msgid ""
"More specific device plugboards exist for that format. Are you sure you want "
"to add the new plugboard?"
msgstr ""
+"Es gibt schon eine speziellere Schalttafel für dieses Format und Gerät. Sie "
+"sind sicher, dass Sie die neue Schalttafel hinzufügen wollen?"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:224
msgid "Really add plugboard?"
-msgstr ""
+msgstr "Schalttafel wirklich hinzufügen?"
#: /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 ""
+"Es gibt eine andere Schalttafel für diese Format/Geräte kombination. Sind "
+"Sie sicher das sie die neue Schalttafel hinzufügen wollen?"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:235
msgid ""
@@ -12930,7 +13053,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:246
msgid "The {0} device does not support the {1} format."
-msgstr ""
+msgstr "Das Gerät {0} unterstützt das Format {1} nicht."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:279
msgid "Invalid destination"
@@ -13040,11 +13163,11 @@ msgstr "Keine Treffer"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:231
msgid "Could not find any matching plugins"
-msgstr ""
+msgstr "Keine passenden Plugins gefunden"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:272
msgid "Add plugin"
-msgstr ""
+msgstr "Plugin hinzufügen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:280
msgid ""
@@ -13052,12 +13175,17 @@ msgid ""
"virus/malware. Only install it if you got it from a trusted source. Are you "
"sure you want to proceed?"
msgstr ""
+"Installieren von plugins ist ein Sicherheitsrisiko. Plugins können "
+"Virus/Malware enthalten. Installieren Sie nur wenn Sie die Plug-ins aus "
+"einer sicheren Quelle haben. Sind Sie sicher das sie fortfahren möchten?"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296
msgid ""
"Plugin {0} successfully installed under {1} plugins. You may "
"have to restart calibre for the plugin to take effect."
msgstr ""
+"Plugin {0} erfolgreich installiert unter {1} plugins. Sie "
+"müssen Calibre neu starten damit das Plug-in arbeitet."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:304
msgid "No valid plugin path"
@@ -13069,7 +13197,7 @@ msgstr "%s ist kein gültiger Plugin-Pfad"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:314
msgid "Select an actual plugin under %s to customize"
-msgstr ""
+msgstr "Wählen Sie ein aktuelles Plug-in unter %s zum anpassen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:320
msgid "Plugin cannot be disabled"
@@ -13095,10 +13223,12 @@ msgstr "Neustart erforderlich"
msgid ""
"You must restart calibre before you can configure the %s plugin"
msgstr ""
+"Sie müssen Calibre neu starten bevor Sie das %s Plug-in konfigurieren "
+"können."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:344
msgid "Plugin {0} successfully removed"
-msgstr ""
+msgstr "Plug-in {0} erfolgreich entfernt"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:352
msgid "Cannot remove builtin plugin"
@@ -13250,40 +13380,42 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:128
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:119
msgid "Grouped Search Terms"
-msgstr ""
+msgstr "Gruppierte Suchbegriffe"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:97
msgid "The search term cannot be blank"
-msgstr ""
+msgstr "Suchbegriff kann nicht >leer< sein"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:107
msgid "That name is already used for a column or grouped search term"
msgstr ""
+"Der Name ist bereits in Benutzung für eine Spalte oder ein gruppierter "
+"Suchbegriff"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:111
msgid "That name is already used for user category"
-msgstr ""
+msgstr "Dieser Name wird schon für eine Benutzerkategorie verwendet"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:117
msgid "The value box cannot be empty"
-msgstr ""
+msgstr "Das Werte-Feld darf nicht leer sein"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:129
msgid "The empty grouped search term cannot be deleted"
-msgstr ""
+msgstr "Der leere gruppierte Suchbegriff kann nicht gelöscht werden"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:110
msgid "Search as you &type"
-msgstr ""
+msgstr "Suche bei &Eingabe"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:111
msgid ""
"&Highlight search results instead of restricting the book list to the results"
-msgstr ""
+msgstr "&Such-treffer markieren anstatt \"Nur Suchtreffer anzeigen\""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:112
msgid "What to search by default"
-msgstr ""
+msgstr "Standardsuche"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:113
msgid ""
@@ -13295,7 +13427,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:114
msgid "&Limit the searched metadata"
-msgstr ""
+msgstr "&Metadatensuche eingrenzen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:115
msgid "&Columns that non-prefixed searches are limited to:"
@@ -13314,14 +13446,16 @@ msgid ""
"Clear search histories from all over calibre. Including the book list, e-"
"book viewer, fetch news dialog, etc."
msgstr ""
+"Lösche alle gespeicherten Suchen in Calibre. Auch die Bücherliste, "
+"Buchbetrachter, Nachrichtendialog usw."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:118
msgid "Clear search &histories"
-msgstr ""
+msgstr "Lösche &gespeicherte Suchen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:120
msgid "&Names:"
-msgstr ""
+msgstr "&Namen:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:121
msgid ""
@@ -13334,7 +13468,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:126
msgid "Delete the current search term"
-msgstr ""
+msgstr "Aktuellen Suchbegriff löschen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:128
msgid ""
@@ -13345,11 +13479,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:131
msgid "&Save"
-msgstr ""
+msgstr "&Speichern"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:132
msgid "Make &user categories from:"
-msgstr ""
+msgstr "Erstelle &benutzerkategorien von:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:133
msgid ""
@@ -13520,7 +13654,7 @@ msgstr ""
"vollständige Servername oder die IP-Adresse des Rechners sein, auf dem "
"Calibre läuft."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -13588,41 +13722,43 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
-msgstr ""
+msgstr "Vorlagen funktionen"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
-msgstr ""
+msgstr "Eine eingebaute Funktion kann nicht gelöscht werden"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
+msgstr "Funktion nicht definiert"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
-msgstr ""
+msgstr "Source-code der Funktion nicht vorhanden"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:96
msgid "&Function:"
-msgstr ""
+msgstr "&Funktion:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:97
msgid "Enter the name of the function to create."
-msgstr ""
+msgstr "Geben Sie den Namen der Funktion ein die erstellt werden soll"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:98
msgid "Arg &count:"
@@ -13634,19 +13770,20 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:102
msgid "&Delete"
-msgstr ""
+msgstr "&Löschen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:103
msgid "&Replace"
-msgstr ""
+msgstr "&Ersetzen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:104
msgid "C&reate"
-msgstr ""
+msgstr "E&rstellen"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:105
msgid "&Program Code: (be sure to follow python indenting rules)"
msgstr ""
+"&Programm Code: (beachten Sie das Sie die einrück Regel von Python befolgen)"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36
msgid "Switch between library and device views"
@@ -13670,15 +13807,15 @@ msgstr "Die Haupt- Werkzeugsleiste bei verbundenem Gerät"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:221
msgid "The optional second toolbar"
-msgstr ""
+msgstr "Die optionale zweite Werkzeugleiste"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:222
msgid "The menubar"
-msgstr ""
+msgstr "Die Menüleiste"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:223
msgid "The menubar when a device is connected"
-msgstr ""
+msgstr "Die Menüleiste wenn ein Gerät angeschlossen ist"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:224
msgid "The context menu for the books in the calibre library"
@@ -13811,11 +13948,11 @@ msgstr "Suche"
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:339
msgid "Delete current search"
-msgstr ""
+msgstr "Aktuelle Suche löschen"
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:340
msgid "No search is selected"
-msgstr ""
+msgstr "Keine Suche ausgewählt"
#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:342
msgid "The selected search will be permanently deleted. Are you sure?"
@@ -13880,7 +14017,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:53
msgid " or the search "
-msgstr ""
+msgstr " oder die Suche "
#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:87
msgid "({0} of {1})"
@@ -13957,19 +14094,19 @@ msgstr "&Alternatives Tastenkürzel:"
#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:38
msgid "Added Tags:"
-msgstr ""
+msgstr "Tag hinzugefügt:"
#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:39
msgid "Open store in external web browswer"
-msgstr ""
+msgstr "Shop im externen Browser öffnen"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:219
msgid "&Name:"
-msgstr ""
+msgstr "&Name:"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:221
msgid "&Description:"
-msgstr ""
+msgstr "&Beschreibung:"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:222
msgid "&Headquarters:"
@@ -13977,25 +14114,25 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:226
msgid "Enabled:"
-msgstr ""
+msgstr "Eingeschaltet:"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:227
msgid "DRM:"
-msgstr ""
+msgstr "DRM:"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:228
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:230
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:233
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:207
msgid "true"
-msgstr ""
+msgstr "wahr"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:229
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:231
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:234
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:208
msgid "false"
-msgstr ""
+msgstr "falsch"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:232
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:206
@@ -14014,13 +14151,13 @@ msgstr "Suchanfrage:"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:81
msgid "Enable"
-msgstr ""
+msgstr "Aktivieren"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82
#: /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 ""
+msgstr "Alle"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137
@@ -14034,35 +14171,41 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
msgid "Enabled"
-msgstr ""
+msgstr "Aktiviert"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
msgid "Headquarters"
-msgstr ""
+msgstr "Hauptquartier"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
msgid "No DRM"
-msgstr ""
+msgstr "Kein DRM"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:129
msgid ""
"This store is currently diabled and cannot be used in other parts of calibre."
msgstr ""
+"Dieser Shop ist zur Zeit deaktiviert und kann in anderen Teilen von Calibre "
+"nicht benutzt werden."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:131
msgid ""
"This store is currently enabled and can be used in other parts of calibre."
msgstr ""
+"Dieser Shop ist zur Zeit aktiviert und kann in anderen Teilen von Calibre "
+"benutzt werden."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:136
msgid "This store only distributes ebooks with DRM."
-msgstr ""
+msgstr "Dieser Shop vertreibt nur eBooks mit DRM."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:138
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 ""
+"Dieser Shop vertreibt eBooks mit DRM. Es können einige Titel ohne DRM "
+"vorhanden sein, aber das muss für jeden Titel einzeln geprüft werden."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:140
msgid ""
@@ -14078,49 +14221,49 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:145
msgid "This store distributes ebooks in the following formats: %s"
-msgstr ""
+msgstr "Dieser Shop vertreibt eBooks in den folgenden Formaten: %s"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/results_view.py:47
msgid "Configure..."
-msgstr ""
+msgstr "Konfigurieren..."
#: /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 ""
+msgstr "Zeit"
#: /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 ""
+msgstr "Sekunden die gewartet werden bis ein Shop antwortet"
#: /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 ""
+msgstr "Sekunden die ein Shop Zeit hat um die Ergebnisse zu verarbeiten"
#: /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 ""
+msgstr "Anzeigen"
#: /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 ""
+msgstr "Max. Anzahl ergebnisse die jeder Shop anzeigen soll"
#: /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 ""
+msgstr "Suchergebnisse anzeigen in System-Browser"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:105
msgid "Threads"
-msgstr ""
+msgstr "Themen"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:106
msgid "Number of search threads to use"
-msgstr ""
+msgstr "Anzahl Suchprozesse die genutzt werden"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:107
msgid "Number of cache update threads to use"
@@ -14136,11 +14279,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:105
msgid "Performance"
-msgstr ""
+msgstr "Leistung"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:106
msgid "Number of simultaneous searches"
-msgstr ""
+msgstr "Anzahl gleichzeitiger Suchen"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:107
msgid "Number of simultaneous cache updates"
@@ -14156,7 +14299,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/store/ebooks_com_plugin.py:96
msgid "Not Available"
-msgstr ""
+msgstr "Nicht verfügbar"
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/adv_search_builder_ui.py:179
msgid ""
@@ -14178,19 +14321,19 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/cache_update_thread.py:42
msgid "Checking last download date."
-msgstr ""
+msgstr "Überprüfe letztes Download-datum"
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/cache_update_thread.py:48
msgid "Downloading book list from MobileRead."
-msgstr ""
+msgstr "Lade Bücherliste von MobileRead."
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/cache_update_thread.py:61
msgid "Processing books."
-msgstr ""
+msgstr "Verarbeite Bücher."
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/cache_update_thread.py:70
msgid "%s of %s books processed."
-msgstr ""
+msgstr "%s von %s Büchern verarbeitet."
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/mobileread_plugin.py:62
msgid "Updating MobileRead book cache..."
@@ -14204,7 +14347,7 @@ msgstr "&Suchanfrage"
#: /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 ""
+msgstr "Bücher:"
#: /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
@@ -14216,7 +14359,7 @@ msgstr "Schließen"
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:62
msgid "Search:"
-msgstr ""
+msgstr "Suchen:"
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:202
msgid "&Price:"
@@ -14258,10 +14401,13 @@ 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 ""
+"Der DRM Status kann nicht ermittelt werden. Mit hoher Wahrscheinlichkeit "
+"verfügt dieses Buch aber über DRM-Schutz"
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:105
msgid "Buying from this store supports the calibre developer: %s
"
msgstr ""
+"Durch kauf in diesem Shop unterstützen Sie die Calibre Entwickler: %s"
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:261
msgid "Customize get books search"
@@ -14269,7 +14415,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:271
msgid "Configure search"
-msgstr ""
+msgstr "Suche konfigurieren"
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:321
msgid "Couldn't find any books matching your query."
@@ -14301,7 +14447,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_control.py:86
msgid "File is not a supported ebook type. Save to disk?"
-msgstr ""
+msgstr "Datei ist kein unterstütztes eBook-Format. Abspeichern?"
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:59
msgid "Home"
@@ -14309,7 +14455,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:60
msgid "Reload"
-msgstr ""
+msgstr "Neu laden"
#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:61
msgid "%p%"
@@ -14339,7 +14485,7 @@ msgstr "Lösche Suche %s"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:384
msgid "Remove %s from category %s"
-msgstr ""
+msgstr "%s von Kategorie %s entfernen"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:391
msgid "Search for %s"
@@ -14351,11 +14497,11 @@ msgstr "Nach allem außer %s suchen"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:408
msgid "Add sub-category to %s"
-msgstr ""
+msgstr "Unterkategorie zu %s hinzufügen"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:412
msgid "Delete user category %s"
-msgstr ""
+msgstr "Lösche Benutzerkategorie %s"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:417
msgid "Hide category %s"
@@ -14416,7 +14562,7 @@ msgstr ""
"Sie sicher?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Suchergebnisse"
@@ -14424,7 +14570,7 @@ msgstr "Suchergebnisse"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1411
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1420
msgid "Rename user category"
-msgstr ""
+msgstr "Benutzerkategorie umbenennen"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1392
msgid "You cannot use periods in the name when renaming user categories"
@@ -14433,7 +14579,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1412
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1421
msgid "The name %s is already used"
-msgstr ""
+msgstr "Der Name %s wird bereits benutzt"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1444
msgid "Duplicate search name"
@@ -14474,11 +14620,11 @@ msgstr "Neue Kategorie"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1920
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1923
msgid "Delete user category"
-msgstr ""
+msgstr "Lösche Benutzer kategorie"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1921
msgid "%s is not a user category"
-msgstr ""
+msgstr "%s ist keine Benutzer kategorie"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1924
msgid "%s contains items. Do you really want to delete it?"
@@ -14490,15 +14636,15 @@ msgstr "Kategorie entfernen"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1946
msgid "User category %s does not exist"
-msgstr ""
+msgstr "Benutzer kategorie %s existiert nicht."
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1965
msgid "Add to user category"
-msgstr ""
+msgstr "Zu Benutzerkategorie hinzufügen"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1966
msgid "A user category %s does not exist"
-msgstr ""
+msgstr "Eine Benutzerkategorie %s existiert nicht"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2089
msgid "Find item in tag browser"
@@ -14585,7 +14731,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:65
msgid "Convert book %(num)d of %(total)d (%(title)s)"
-msgstr ""
+msgstr "Konvertiere Buch %(num)d von %(total)d (%(title)s)"
#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:205
@@ -14705,6 +14851,9 @@ msgid ""
"Update only if one of the new features or bug fixes is important to "
"you. If the current version works well for you, do not update."
msgstr ""
+"Das Update nur durchführen, falls die neuen Funktionen oder Fehlerbehebungen "
+"für Sie wichtig sind. Wenn die aktuelle Version für Sie gut funktioniert, "
+"machen Sie kein Update."
#: /home/kovid/work/calibre/src/calibre/gui2/update.py:60
msgid "Update available!"
@@ -15438,20 +15587,20 @@ msgstr "Einrichtung"
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:102
msgid "Incorrect username"
-msgstr ""
+msgstr "Falscher Benutzname"
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:103
msgid "%s needs the full email address as your username"
-msgstr ""
+msgstr "%s benötigt die komplette E-Mail-Adresse als Benutzernamen"
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154
msgid "OK to proceed?"
-msgstr ""
+msgstr "Wirklich fortfahren?"
#: /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 ""
+msgstr "Ihr E-Mail-Passwort wird im Klartext angezeigt. Wirklich fortfahren?"
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:199
msgid ""
@@ -15475,16 +15624,22 @@ msgid ""
"You must either set both the username and password for the mail "
"server or no username and no password at all."
msgstr ""
+"Sie müssen entweder sowohl Benutzername und Passwort für den "
+"Mailserver angeben oder gar keinen Benutzernamen und kein Passwort."
#: /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 ""
+"Bitte geben Sie einen Benutzernamen und ein Passwort ein oder deaktivieren "
+"Sie die Verschlüsselung "
#: /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 ""
+"Für den Mailserver wurde kein Benutzername und kein Passwort angegeben. Die "
+"meisten Mailserver benötigen Benutzernamen und Passwort. Sind Sie sicher?"
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124
msgid "Send email &from:"
@@ -15940,7 +16095,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/catalog.py:1422
msgid "No books available to catalog"
-msgstr ""
+msgstr "Keine Bücher im Katalog verfügbar"
#: /home/kovid/work/calibre/src/calibre/library/catalog.py:1497
msgid ""
@@ -16006,7 +16161,7 @@ msgstr "Unbekannte Dateien bei Büchern"
#: /home/kovid/work/calibre/src/calibre/library/check_library.py:33
msgid "Missing covers files"
-msgstr ""
+msgstr "Fehlende Cover-Dateien"
#: /home/kovid/work/calibre/src/calibre/library/check_library.py:34
msgid "Cover files not in database"
@@ -16351,7 +16506,7 @@ msgid ""
"interpreted. This is a JSON string. For enumeration columns, use --"
"display='{\"enum_values\":[\"val1\", \"val2\"]}'"
msgstr ""
-"Ein Dictionary von Optionen zur Einstellung, wie Daten in dieser Spalte "
+"Ein Wörterbuch von Optionen zur Einstellung, wie Daten in dieser Spalte "
"interpretiert werden. Dies ist ein JSON- String. Für Listenspalten, "
"verwenden Sie --display='{\"enum_values\":[\"val1\", \"val2\"]}'"
@@ -16717,19 +16872,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sdie durchschnittliche Bewertung ist %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Haupt"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr "
Migriere alte Datenbank zu eBook Bibliothek in %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Kopiere %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Komprimiere Datenbank"
@@ -16812,6 +16967,7 @@ msgstr "Das Veröffentlichungsdatum"
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:46
msgid "The date when the metadata for this book record was last modified"
msgstr ""
+"Das Datum an dem die Metadaten für dieses Buch zuletzt verändert wurden"
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:48
msgid "The calibre internal id"
@@ -17284,7 +17440,7 @@ msgstr " nahe "
#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:38
msgid "end of program"
-msgstr ""
+msgstr "Programmende"
#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:75
msgid "syntax error - program ends before EOF"
@@ -17316,59 +17472,59 @@ msgstr "Format: Typ {0} benötigt einen Fließkommawert, erhielt {1}"
#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:299
msgid "%s: unknown function"
-msgstr ""
+msgstr "%s: unbekannte Funktion"
#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:348
msgid "No such variable "
-msgstr ""
+msgstr "Keine solche Variable "
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:58
msgid "No documentation provided"
-msgstr ""
+msgstr "Keine Dokumentation vorhanden"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -17378,37 +17534,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -17418,7 +17574,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -17428,24 +17584,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr "lookup benötigt entweder 2 oder eine ungerade Anzahl an Argumenten"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -17454,11 +17610,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr "switch benötigt eine ungerade Anzahl an Argumenten"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -17466,7 +17622,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -17475,20 +17631,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -17502,7 +17669,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -17510,7 +17677,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -17519,19 +17686,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -17539,95 +17706,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
-msgid "booksize() -- return value of the size field"
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
+msgid "booksize() -- return value of the size field"
+msgstr "Buchgröße() -- gibt den Wert des Feld größe wieder"
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -17702,7 +17867,7 @@ msgstr "Englisch (Zypern)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:110
msgid "English (Czechoslovakia)"
-msgstr ""
+msgstr "Englisch (Tschechoslowakei)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:111
msgid "English (Pakistan)"
@@ -17710,11 +17875,11 @@ msgstr "Englisch (Pakistan)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:112
msgid "English (Croatia)"
-msgstr ""
+msgstr "Englisch (Kroatien)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:113
msgid "English (Indonesia)"
-msgstr ""
+msgstr "Englisch (Indonesien)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:114
msgid "English (Israel)"
@@ -17934,15 +18099,15 @@ msgstr "\tFehlgeschlagene Verknüpfungen:"
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:843
msgid "Could not fetch article."
-msgstr ""
+msgstr "Konnte Artikel nicht abrufen."
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:845
msgid "The debug traceback is available earlier in this log"
-msgstr ""
+msgstr "Der Debug-Traceback ist weiter oben in diesem Protokoll"
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:847
msgid "Run with -vv to see the reason"
-msgstr ""
+msgstr "Mit -vv starten um den Grund zu sehen"
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:870
msgid "Fetching feeds..."
@@ -18138,7 +18303,7 @@ msgstr "CSS-Stylesheets nicht herunterladen."
#: /home/kovid/work/calibre/resources/default_tweaks.py:12
msgid "Auto increment series index"
-msgstr ""
+msgstr "Automatischer zähler für Serienindex"
#: /home/kovid/work/calibre/resources/default_tweaks.py:13
msgid ""
@@ -18178,11 +18343,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
-msgstr ""
+msgstr "Autorenname sortier-Algorithmus"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -18200,11 +18365,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -18223,11 +18388,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -18255,11 +18438,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
-msgstr ""
+msgstr "Sortierungsvorwahl der Spalten bei Programmstart"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -18270,11 +18453,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
-msgstr ""
+msgstr "Datumsanzeige einstellungen"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -18295,11 +18478,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
-msgstr ""
+msgstr "Titel und Seriensortierung in der Hauptansicht"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -18319,11 +18502,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -18340,11 +18523,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -18358,11 +18541,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -18375,11 +18558,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
-msgstr ""
+msgstr "Umbenennungsregeln für SONY-Collections"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -18450,11 +18633,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
-msgstr ""
+msgstr "Regeln für die sortierung der SONY-Collections"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -18481,28 +18664,28 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
"Setzt die maximale Anzahl an Tags, die im Content Server pro Buch angezeigt "
"werden sollen."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -18521,11 +18704,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
-msgstr ""
+msgstr "Stellen Sie die max. anzahl von Sortier-ebenen ein"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -18537,11 +18720,13 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
+"Bestimmen Sie welche Schrifttype genutzt wird um das Default-Cover zu "
+"erstellen."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -18549,11 +18734,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
-msgstr ""
+msgstr "Verhalten von Doppelklicks innerhalb der Buchliste"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -18563,11 +18748,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -18581,13 +18766,13 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
"Anzahl der Spalten für benutzerdefinierte Metadaten im \"Metadaten "
"bearbeiten\" Dialog"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -18599,11 +18784,11 @@ msgstr ""
"die\n"
"Felder in zwei Spalten dargestellt. Bei False wird eine Spalte verwendet."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr "Anzahl der Wartesekunden, bevor E-Mails versendet werden"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -18617,11 +18802,11 @@ msgstr ""
"sodass der Mail-Versand scheitert. Änderungen werden erst nach \n"
"einem Neustart von Calibre wirksam."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr "Entferne die hellgelben Linien an den Kanten der Buchliste"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
@@ -18631,13 +18816,13 @@ msgstr ""
"werden sollen, wenn Bedienelemente verdeckt sind. Änderungen werden \n"
"nach einem Neustart von Calibre wirksam."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
"Die maximale Breite und Höhe für in der Calibre-Bibliothek gespeicherten "
"Umschlagbilder"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
@@ -18647,11 +18832,11 @@ msgstr ""
"Maximalgröße skaliert, wobei ihr Seitenverhältnis unverändert bleibt. \n"
"Das soll Verlangsamungen durch extrem große Umschlagbilder vermeiden."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr "Wohin sollen heruntergeladene Nachrichten übertragen werden"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -18671,11 +18856,11 @@ msgstr ""
"sollte auf der ausgewählte Speicherstelle zu wenig freier Platz vorhanden "
"sein."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -18686,11 +18871,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -22092,6 +22277,9 @@ msgstr ""
#~ msgid "Download latest version of builtin recipes"
#~ msgstr "Neueste Version der vorgegebenen Schemata laden"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Nicht zu löschende Formate auswählen"
+
#~ msgid ""
#~ "
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4604,8 +4606,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4634,7 +4636,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4705,11 +4707,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5322,7 +5324,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Συλλογές"
@@ -5434,7 +5436,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7704,19 +7706,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Επεξεργασία Σχολίων"
@@ -7758,8 +7760,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7791,7 +7793,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Δεν βρέθηκαν αντιστοιχίες."
@@ -7934,14 +7936,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Αντιγραφή στο πρόχειρο"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8994,7 +8996,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9168,110 +9170,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr "Ctrl+Ε"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9691,7 +9649,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9700,7 +9658,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9728,7 +9686,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9829,7 +9787,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9838,7 +9796,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9884,45 +9842,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Μέγεθος (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Μέγεθος"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10466,7 +10424,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10588,15 +10546,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10604,27 +10562,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10632,35 +10590,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10866,6 +10824,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11345,186 +11516,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Μικρό"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Μεγάλο"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Μεσαίο"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Πάντα"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Ποτέ"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "Γραμμή &εργαλείων"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11533,26 +11655,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11562,38 +11684,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11656,11 +11754,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12356,7 +12454,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12424,31 +12522,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13236,7 +13336,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Αναζητήσεις"
@@ -15214,19 +15314,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Κύριο"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Συμπίεση βάσης δεδομένων"
@@ -15764,49 +15864,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15816,37 +15916,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15856,7 +15956,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15866,24 +15966,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15892,11 +15992,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15904,7 +16004,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15913,20 +16013,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15940,7 +16051,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15948,7 +16059,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15957,19 +16068,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15977,95 +16088,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16582,11 +16691,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16604,11 +16713,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16627,11 +16736,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16659,11 +16786,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16674,11 +16801,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16699,11 +16826,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16723,11 +16850,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16744,11 +16871,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16762,11 +16889,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16779,11 +16906,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16854,11 +16981,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16885,26 +17012,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16923,11 +17050,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16939,11 +17066,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16951,11 +17078,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16965,11 +17092,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16983,11 +17110,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16995,11 +17122,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17008,33 +17135,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17044,11 +17171,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17059,11 +17186,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/en_AU.po b/src/calibre/translations/en_AU.po
index bc2bdc8ccb..5b8871f364 100644
--- a/src/calibre/translations/en_AU.po
+++ b/src/calibre/translations/en_AU.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2010-05-21 07:30+0000\n"
"Last-Translator: Kovid Goyal \n"
"Language-Team: English (Australia) \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:56+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:51+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -744,13 +744,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +817,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -842,7 +842,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +851,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1220,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2644,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2679,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2715,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2896,7 +2896,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3074,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4249,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4427,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4457,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4528,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5145,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5257,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7527,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7581,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7614,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7755,14 +7757,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8817,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8991,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9470,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9479,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9507,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9650,7 +9608,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9617,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9663,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10245,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10367,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10383,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10411,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10645,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11337,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11476,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11505,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11575,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12275,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12343,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13157,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15135,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15685,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15737,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15777,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15787,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15813,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15825,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15834,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15872,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15880,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15889,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15909,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16512,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16534,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16557,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16607,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16622,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16647,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16671,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16692,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16710,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16727,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16802,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16833,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16871,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16887,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16899,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16913,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16931,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16943,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16956,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16992,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17007,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/en_CA.po b/src/calibre/translations/en_CA.po
index 0c851e26f9..aae2ed8149 100644
--- a/src/calibre/translations/en_CA.po
+++ b/src/calibre/translations/en_CA.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2010-02-27 02:43+0000\n"
"Last-Translator: Kovid Goyal \n"
"Language-Team: English (Canada) \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:57+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:52+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Does absolutely nothing"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Does absolutely nothing"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Does absolutely nothing"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -751,7 +751,7 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr "Communicate with Android devices."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -759,7 +759,7 @@ msgstr ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -826,14 +826,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -851,7 +851,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -860,22 +860,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "News"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1229,11 +1229,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2732,33 +2732,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2767,35 +2767,35 @@ msgstr ""
msgid "Title"
msgstr "Title"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Author(s)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Publisher"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2803,34 +2803,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2984,7 +2984,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3162,7 +3162,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4337,59 +4337,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4513,8 +4515,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4543,7 +4545,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4614,11 +4616,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5231,7 +5233,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5343,7 +5345,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7613,19 +7615,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7667,8 +7669,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7700,7 +7702,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7843,14 +7845,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8903,7 +8905,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9077,110 +9079,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9600,7 +9558,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9609,7 +9567,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9637,7 +9595,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9738,7 +9696,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9747,7 +9705,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9793,45 +9751,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10375,7 +10333,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10497,15 +10455,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10513,27 +10471,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10541,35 +10499,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10775,6 +10733,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11254,186 +11425,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11442,26 +11564,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11471,38 +11593,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11565,11 +11663,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12265,7 +12363,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12333,31 +12431,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13145,7 +13245,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15123,19 +15223,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15673,49 +15773,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15725,37 +15825,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15765,7 +15865,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15775,24 +15875,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15801,11 +15901,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15813,7 +15913,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15822,20 +15922,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15849,7 +15960,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15857,7 +15968,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15866,19 +15977,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15886,95 +15997,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16491,11 +16600,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16513,11 +16622,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16536,11 +16645,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16568,11 +16695,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16583,11 +16710,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16608,11 +16735,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16632,11 +16759,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16653,11 +16780,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16671,11 +16798,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16688,11 +16815,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16763,11 +16890,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16794,26 +16921,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16832,11 +16959,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16848,11 +16975,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16860,11 +16987,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16874,11 +17001,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16892,11 +17019,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16904,11 +17031,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16917,33 +17044,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16953,11 +17080,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16968,11 +17095,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/en_GB.po b/src/calibre/translations/en_GB.po
index efae1ac224..de1751cc0b 100644
--- a/src/calibre/translations/en_GB.po
+++ b/src/calibre/translations/en_GB.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-02-15 08:46+0000\n"
"Last-Translator: Vladimir Oka \n"
"Language-Team: English (United Kingdom) \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:56+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:51+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Does absolutely nothing"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Does absolutely nothing"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Does absolutely nothing"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -784,7 +784,7 @@ msgstr "Debug log"
msgid "Communicate with Android phones."
msgstr "Communicate with Android devices."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -792,7 +792,7 @@ msgstr ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Communicate with S60 phones."
@@ -861,14 +861,14 @@ msgstr "Updating device metadata listing..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d of %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "finished"
@@ -891,7 +891,7 @@ msgstr ""
"Some cover art could not be converted.\n"
"Click 'Show Details' for a list."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -900,22 +900,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "News"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Catalogue"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Communicate with iTunes."
@@ -1281,11 +1281,11 @@ msgstr "Communicate with the Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "Communicate with the Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Communicate with the EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Communicate with the Nextbook Reader"
@@ -2987,33 +2987,33 @@ msgstr ""
"Extract common e-book formats from archives (zip/rar) files. Also try to "
"autodetect if they are actually cbz/cbr files."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "TEMPLATE ERROR"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "No"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Yes"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3022,35 +3022,35 @@ msgstr "Yes"
msgid "Title"
msgstr "Title"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Author(s)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Publisher"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Producer"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Comments"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3058,34 +3058,34 @@ msgstr "Comments"
msgid "Tags"
msgstr "Tags"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Series"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Language"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Timestamp"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Published"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Rights"
@@ -3265,7 +3265,7 @@ msgstr ""
msgid "Metadata source"
msgstr "Metadata source"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3448,7 +3448,7 @@ msgid "HTML TOC generation options."
msgstr "HTML TOC generation options."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4747,47 +4747,49 @@ msgid "Choose formats to be deleted"
msgstr "Choose formats to be deleted"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Cannot delete books"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "No device is connected"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Main memory"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Storage Card A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Storage Card B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "No books to delete"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "None of the selected books are on the device"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Deleting books from device."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -4795,7 +4797,7 @@ msgstr ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4803,7 +4805,7 @@ msgstr ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4929,8 +4931,8 @@ msgstr "Failed to download metadata"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4959,7 +4961,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -5051,11 +5053,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5694,7 +5696,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Collections"
@@ -5806,7 +5808,7 @@ msgstr "output"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8152,19 +8154,19 @@ msgid "&Profile:"
msgstr "&Profile:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "&OK"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "&Cancel"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Edit Comments"
@@ -8208,8 +8210,8 @@ msgid "Location"
msgstr "Location"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8241,7 +8243,7 @@ msgstr "Author sort"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "No matches found"
@@ -8384,14 +8386,14 @@ msgid "Copied"
msgstr "Copied"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Copy to clipboard"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9525,7 +9527,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr "Name already used"
@@ -9708,110 +9710,66 @@ msgstr "Rename the item in every book where it is used."
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr "Function &name:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr "&Documentation:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr "Python &code:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Edit template"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Test email settings"
@@ -10249,7 +10207,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Cover Browser"
@@ -10258,7 +10216,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Tag Browser"
@@ -10286,7 +10244,7 @@ msgstr "Update found"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Book Details"
@@ -10387,7 +10345,7 @@ msgid "Show books in the main memory of the device"
msgstr "Show books in the main memory of the device"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Card A"
@@ -10396,7 +10354,7 @@ msgid "Show books in storage card A"
msgstr "Show books on storage card A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Card B"
@@ -10444,45 +10402,45 @@ msgstr "Copy current search text (instead of search name)"
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "On Device"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Size (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "The lookup/search name is \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "This book's UUID is \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "In Library"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Size"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Marked for deletion"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Double click to edit me
"
@@ -11053,7 +11011,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11178,15 +11136,15 @@ msgstr "&Comments"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11194,27 +11152,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11222,35 +11180,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Downloading cover..."
@@ -11495,6 +11453,219 @@ msgstr "Use internal &viewer for:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Reset all disabled &confirmation dialogs"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "You must select a column to delete it"
@@ -12001,186 +12172,137 @@ msgstr ""
msgid "new email address"
msgstr "new email address"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Narrow"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Wide"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Small"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Large"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Medium"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Always"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Never"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "By first letter"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Disabled"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr "Partitioned"
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "User Interface &layout (needs restart):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Choose &language (requires restart):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "Enable system &tray icon (needs restart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr "Disable all animations. Useful if you have a slow/old computer."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Disable &animations"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Disable ¬ifications in system tray"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Show &splash screen at startup"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "&Toolbar"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "&Icon size:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Show &text under icons:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "Interface font:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "Change &font (needs restart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Use &Roman numerals for series"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12194,11 +12316,11 @@ msgstr ""
"have a list of fixed-sized groups. Set to disabled\n"
"if you never want subcategories"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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 "
@@ -12208,15 +12330,15 @@ msgstr ""
"up into sub-categories. If the partition method is set to disable, this "
"value is ignored."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Show &average ratings in the tags browser"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12226,38 +12348,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr "Show cover &browser in a separate window (needs restart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr "&Number of covers to show in browse mode (needs restart):"
-#: /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"
@@ -12324,11 +12422,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -13096,7 +13194,7 @@ msgstr ""
"reader on your iPhone. Here myhostname should be the fully qualified "
"hostname or the IP address of the computer calibre is running on."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -13228,31 +13326,33 @@ msgstr ""
"
\n"
" "
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr "Template functions"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr "You cannot delete a built-in function"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr "Function not defined"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
-msgstr "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr "Exception while compiling function"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr "function source code not available"
@@ -14055,7 +14155,7 @@ msgstr ""
"Changing the metadata for that many books can take a while. Are you sure?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Searches"
@@ -16379,19 +16479,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sAverage rating is %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Main"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr "
Migrating old database to ebook library in %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Copying %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Compacting database"
@@ -16984,7 +17084,7 @@ msgstr "No such variable "
msgid "No documentation provided"
msgstr "No documentation provided"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
@@ -16992,7 +17092,7 @@ msgstr ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
@@ -17000,7 +17100,7 @@ msgstr ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
@@ -17008,7 +17108,7 @@ msgstr ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
@@ -17016,7 +17116,7 @@ msgstr ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
@@ -17024,7 +17124,7 @@ msgstr ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
@@ -17032,7 +17132,7 @@ msgstr ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
@@ -17040,7 +17140,7 @@ msgstr ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -17056,7 +17156,7 @@ msgstr ""
"automatically. For example, template('[[title_sort]]') will evaluate the "
"template {title_sort} and return its value."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
@@ -17066,7 +17166,7 @@ msgstr ""
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
@@ -17074,7 +17174,7 @@ msgstr ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
@@ -17084,17 +17184,17 @@ msgstr ""
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr "field(name) -- returns the metadata field named by name"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -17110,7 +17210,7 @@ msgstr ""
"substr('12345', 1, 0) returns '2345', and substr('12345', 1, -1) returns "
"'234'."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -17126,11 +17226,11 @@ msgstr ""
"the value of some other composite field. This is extremely useful when "
"constructing variable save paths"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr "lookup requires either 2 or an odd number of arguments"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
@@ -17138,7 +17238,7 @@ msgstr ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
@@ -17148,7 +17248,7 @@ msgstr ""
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -17162,11 +17262,11 @@ msgstr ""
"else_value is returned. You can have as many `pattern, value` pairs as you "
"want"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr "switch requires an odd number of arguments"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -17174,7 +17274,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -17183,7 +17283,18 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
msgid ""
"re(val, pattern, replacement) -- return the field after applying the regular "
"expression. All instances of `pattern` are replaced with `replacement`. As "
@@ -17193,7 +17304,7 @@ msgstr ""
"expression. All instances of `pattern` are replaced with `replacement`. As "
"in all of calibre, these are python-compatible regular expressions"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
msgid ""
"ifempty(val, text if empty) -- return val if val is not empty, otherwise "
"return `text if empty`"
@@ -17201,7 +17312,7 @@ msgstr ""
"ifempty(val, text if empty) -- return val if val is not empty, otherwise "
"return `text if empty`"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -17225,7 +17336,7 @@ msgstr ""
"chars + the length of `middle text`, then the field will be used intact. For "
"example, the title `The Dome` would not be changed."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -17237,7 +17348,7 @@ msgstr ""
"comma as the separator, but authors uses an ampersand. Examples: "
"{tags:count(,)}, {authors:count(&)}"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -17251,19 +17362,19 @@ msgstr ""
"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."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -17271,95 +17382,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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\""
+"each such item extracting the start_index` to the `end_index` 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:523
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
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"
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:551
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:612
msgid "uppercase(val) -- return value of the field in upper case"
msgstr "uppercase(val) -- return value of the field in upper case"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
msgid "lowercase(val) -- return value of the field in lower case"
msgstr "lowercase(val) -- return value of the field in lower case"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
msgid "titlecase(val) -- return value of the field in title case"
msgstr "titlecase(val) -- return value of the field in title case"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid "capitalize(val) -- return value of the field capitalized"
msgstr "capitalize(val) -- return value of the field capitalized"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -17905,11 +18014,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -17927,11 +18036,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -17950,11 +18059,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -17982,11 +18109,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -17997,11 +18124,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -18022,11 +18149,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -18046,11 +18173,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -18067,11 +18194,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -18085,11 +18212,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -18102,11 +18229,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -18177,11 +18304,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -18208,26 +18335,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -18246,11 +18373,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -18262,11 +18389,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -18274,11 +18401,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -18288,11 +18415,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -18306,11 +18433,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -18318,11 +18445,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -18331,33 +18458,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -18367,11 +18494,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -18382,11 +18509,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -21160,6 +21287,9 @@ msgstr ""
#~ "GUI. You can recover your database using the 'calibredb restore_database' "
#~ "command line function."
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Choose formats not to be deleted"
+
#~ msgid " and delete from library"
#~ msgstr " and delete from library"
@@ -22419,6 +22549,9 @@ msgstr ""
#~ msgid "Plugin {0} successfully removed"
#~ msgstr "Plugin {0} successfully removed"
+#~ msgid "Argument count must be -1 or greater than zero"
+#~ msgstr "Argument count must be -1 or greater than zero"
+
#~ msgid ""
#~ "\n"
#~ "\n"
diff --git a/src/calibre/translations/eo.po b/src/calibre/translations/eo.po
index 12aa77335c..f5e58628ad 100644
--- a/src/calibre/translations/eo.po
+++ b/src/calibre/translations/eo.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2010-01-09 00:03+0000\n"
"Last-Translator: Kalle Kniivilä \n"
"Language-Team: Esperanto \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:41+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:37+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Faras absolute nenion"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Faras absolute nenion"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Faras absolute nenion"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -778,7 +778,7 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr "Komuniki kun telefonoj de la sistemo Android."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -786,7 +786,7 @@ msgstr ""
"Listo, dividita per komoj, de dosierujoj por sendado de e-libroj al la "
"aparato. La unua ekzistanta estos uzata."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -853,14 +853,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -878,7 +878,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -887,22 +887,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1256,11 +1256,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2680,33 +2680,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2715,35 +2715,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2751,34 +2751,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2932,7 +2932,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3110,7 +3110,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4285,59 +4285,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4461,8 +4463,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4491,7 +4493,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4562,11 +4564,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5179,7 +5181,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5291,7 +5293,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7561,19 +7563,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7615,8 +7617,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7648,7 +7650,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7791,14 +7793,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8851,7 +8853,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9025,110 +9027,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9548,7 +9506,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9557,7 +9515,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9585,7 +9543,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9686,7 +9644,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9695,7 +9653,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9741,45 +9699,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10323,7 +10281,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10445,15 +10403,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10461,27 +10419,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10489,35 +10447,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10723,6 +10681,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11202,186 +11373,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11390,26 +11512,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11419,38 +11541,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11513,11 +11611,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12213,7 +12311,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12281,31 +12379,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13093,7 +13193,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15071,19 +15171,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15621,49 +15721,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15673,37 +15773,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15713,7 +15813,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15723,24 +15823,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15749,11 +15849,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15761,7 +15861,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15770,20 +15870,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15797,7 +15908,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15805,7 +15916,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15814,19 +15925,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15834,95 +15945,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16439,11 +16548,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16461,11 +16570,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16484,11 +16593,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16516,11 +16643,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16531,11 +16658,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16556,11 +16683,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16580,11 +16707,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16601,11 +16728,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16619,11 +16746,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16636,11 +16763,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16711,11 +16838,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16742,26 +16869,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16780,11 +16907,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16796,11 +16923,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16808,11 +16935,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16822,11 +16949,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16840,11 +16967,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16852,11 +16979,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16865,33 +16992,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16901,11 +17028,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16916,11 +17043,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po
index 1d64df8838..516b173d36 100644
--- a/src/calibre/translations/es.po
+++ b/src/calibre/translations/es.po
@@ -10,14 +10,14 @@ msgid ""
msgstr ""
"Project-Id-Version: es\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
-"PO-Revision-Date: 2011-06-02 06:58+0000\n"
-"Last-Translator: Juan Echanobe \n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
+"PO-Revision-Date: 2011-06-04 09:19+0000\n"
+"Last-Translator: Jellby \n"
"Language-Team: Spanish\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-06-03 04:38+0000\n"
+"X-Launchpad-Export-Date: 2011-06-05 04:34+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:528
@@ -67,10 +67,10 @@ msgstr "No hace absolutamente nada"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -95,7 +95,7 @@ msgstr "No hace absolutamente nada"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -165,32 +165,32 @@ msgstr "No hace absolutamente nada"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -808,7 +808,7 @@ msgstr "Registro de depuración"
msgid "Communicate with Android phones."
msgstr "Comunicar con teléfonos Android."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -816,7 +816,7 @@ msgstr ""
"Lista de directorios, separados por comas, donde almacenar los libros en el "
"dispositivo. Se usará el primero que exista"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Comunicar con teléfonos S60."
@@ -901,14 +901,14 @@ msgstr "Actualizando listado de meta datos..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d de %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "terminado"
@@ -931,7 +931,7 @@ msgstr ""
"Algunas portadas no se pudieron convertir.\n"
"Pulse en \"Mostrar detalles\" para ver una lista."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -940,22 +940,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Noticias"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Catálogo"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Comunicarse con iTunes."
@@ -1335,11 +1335,11 @@ msgstr "Comunicar con el lector Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "Comunicar con el lector Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Comunicar con el EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Comunicar con el Nextbook Reader"
@@ -3118,33 +3118,33 @@ msgstr ""
"Extraer los formatos de libro digital comunes de archivos (zip/rar). También "
"intenta detectar automáticamente si se trata de ficheros cbz/cbr."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr "Valor: campo desconocido "
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "ERROR DE PLANTILLA"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "No"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Sí"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3153,35 +3153,35 @@ msgstr "Sí"
msgid "Title"
msgstr "Título"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autor(es)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Editorial"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Productor"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Comentarios"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3189,34 +3189,34 @@ msgstr "Comentarios"
msgid "Tags"
msgstr "Etiquetas"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Serie"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Idioma"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Marca temporal"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Publicado"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Derechos"
@@ -3400,7 +3400,7 @@ msgstr ""
msgid "Metadata source"
msgstr "Fuente de metadatos"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr "Descarga metadatos y portadas de Douban.com"
@@ -3600,7 +3600,7 @@ msgid "HTML TOC generation options."
msgstr "Opciones de generación del Índice HTML."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4978,47 +4978,51 @@ msgid "Choose formats to be deleted"
msgstr "Elegir formatos a borrar"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Elegir formatos que no hayan de ser borrados"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
+"Elegir los formatos que no se borrarán.
Nunca se borrarán todos los "
+"formatos de un libro."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "No se pueden eliminar libros"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "No hay ningún dispositivo conectado"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Memoria principal"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Tarjeta de almacenamiento A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Tarjeta de almacenamiento B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "No hay libros para eliminar"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Ninguno de los libros seleccionados está en el dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Eliminando libros del dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -5026,7 +5030,7 @@ msgstr ""
"Algunos de los libros seleccionados están en el dispositivo conectado. ¿De "
"dónde quiere borrar los libros seleccionades?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -5034,7 +5038,7 @@ msgstr ""
"Los libros seleccionados serán borrados permanentemente y los "
"ficheros eliminados de su biblioteca calibre. ¿Está seguro?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -5163,8 +5167,8 @@ msgstr "No se pudieron descargar los metadatos"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr "La descarga ha fallado"
@@ -5199,7 +5203,7 @@ msgid "Download complete"
msgstr "Descarga finalizada"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr "Registro de descargas"
@@ -5295,11 +5299,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr "Aplicando los metadatos modificados"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr "Algunos fallos"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5952,7 +5956,7 @@ msgid "Book %s of %s"
msgstr "Libro %s de %s"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Colecciones"
@@ -6064,7 +6068,7 @@ msgstr "salida"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -6693,6 +6697,19 @@ msgid ""
"size-rescaling\">User Manual for a discussion of how font size rescaling "
"works.
"
msgstr ""
+"
Este asistente le ayudará a elegir una clave de tamaño de letra adecuada. "
+"Introduzca el tamaño de letra base del documento de entrada y después "
+"introduzca un tamaño de letra de entrada. El asistente mostrará a qué tamaño "
+"de letra corresponderá según el algoritmo de redimensionado de tipos de "
+"letra. Puede ajustar el algoritmo cambiando el tamaño de letra base de "
+"salida y la clave de tamaño más abajo. Cuando encuentre valores "
+"satisfactorios, pulse OK.
\n"
+"
De manera predeterminada, si el tamaño de letra base de salida es cero o "
+"si no se especifica ninguna clave de tamaño, calibre usará los valores del "
+"perfil de salida actual.
\n"
+"
Véase el Manual de usuario para una discusión de cómo funciona "
+"el redimensionado de tipos de letra.
"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:108
msgid "&Output document"
@@ -6768,6 +6785,15 @@ msgid ""
"the User Manual."
msgstr ""
+"Procesado heurístico significa que calibre buscará patrones "
+"habituales en un libro y los arreglará. Como el nombre indica, este proceso "
+"se basa en conjeturas, con lo que podría terminar empeorando el resultado de "
+"una conversión si las conjeturas son erróneas. Por este motivo, esta opción "
+"está desactiva de manera predeterminada. A menudo, si una conversión no "
+"ocurre como se espera, activar la heurística puede mejorar el resultado. Lea "
+"más acerca de las distintas opciones de procesado heurístico en el Manual del usuario."
#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:114
msgid "Enable &heuristic processing"
@@ -7367,6 +7393,11 @@ msgid ""
"wizard buttons below will allow you to test your regular expression against "
"the current input document."
msgstr ""
+"
Buscar y sustituir utiliza expresiones regulares. Consulte el tutorial de expresiones "
+"regulares para aprender las bases de su funcionamiento. Al pulsar en los "
+"botones de asistente de más abajo podrá comprobar sus expresiones regulares "
+"con el documento de entrada actual."
#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:173
msgid "Convert"
@@ -7706,6 +7737,15 @@ msgid ""
"tag.
To learn more advanced usage of XPath see the XPath Tutorial."
msgstr ""
+"
Por ejemplo, para seleccionar todas las etiquetas h2 que tengan "
+"class=\"chapter\", ponga «h2» en la etiqueta, «class» en el atributo y "
+"«chapter» en el valor.
\r\n"
+"
Un atributo en blanco corresponde a cualquier atributo y un valor en "
+"blanco a cualquier valor. Si se establece «*» en la etiqueta se seleccionará "
+"cualquier etiqueta.
"
#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:128
msgid "Browse by covers"
@@ -8498,19 +8538,19 @@ msgid "&Profile:"
msgstr "&Perfil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "&Aceptar"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "&Cancelar"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Editar comentarios"
@@ -8554,8 +8594,8 @@ msgid "Location"
msgstr "Ubicación"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8592,7 +8632,7 @@ msgstr "Orden de autor"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "No se encontraron coincidencias"
@@ -8742,14 +8782,14 @@ msgid "Copied"
msgstr "Copiado"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Copiar al portapapeles"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr "Ver registro"
@@ -9953,7 +9993,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr "El nombre ya está en uso"
@@ -10142,116 +10182,67 @@ msgstr "Renombrar el elemento en todos los libros que lo usen."
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
-msgstr ""
+msgstr "EXCEPCIÓN: "
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr "No se eligió ninguna columna"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr "Debe especificar una columna para colorear"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr "No se especificó ninguna plantilla"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr "El cuadro de plantilla no puede estar vacío"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr "Establecer el color de la columna:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr "Valor de la plantilla:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+"El valor de la plantilla para el libro actual en la vista de biblioteca"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr "&Nombre de la función:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr "&Documentación:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr "&Código Python:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+msgstr "Eliminar cualquier plantilla del cuadro"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:32
msgid "Open Template Editor"
msgstr "Abrir editor de plantillas"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:39
-msgid "Open Tag Wizard"
-msgstr "Abrir asistente de etiquetas"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Modificar plantilla"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr "Texto no válido"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-msgid "The text in the box was not generated by this wizard"
-msgstr "El texto del cuadro no ha sido generado por este asistente"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:64
-msgid "Tag Wizard"
-msgstr "Asistente de etiquetas"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr "Tags (mira el globo de ayuda para más información)"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-"Puedes introducir varios tag por caja, separados por comas. La comparación "
-"ignora mayúsculas o minúsculas. Un tag puede ser una expresión regular. "
-"Verifica la caja para activarla. Cuando uses expresiones regulares, verás "
-"que el asistente pondrá anclas (^ y $) alrededor de la expresión, asi que "
-"debes asegurarte de que la expresión corresponde al principio del tag. "
-"Ejemplos de expresiones regulares:"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr "Color no válido"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-msgid "The color {0} is not valid"
-msgstr "El color {0} no es válido"
-
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:56
msgid "Test email settings"
msgstr "Probar preferencias de correo electrónico"
@@ -10505,6 +10496,8 @@ msgid ""
"For help with writing advanced news recipes, please visit User Recipes"
msgstr ""
+"Para más ayuda sobre cómo escribir recetas de noticias avanzadas visite Recetas de usuario"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:287
msgid "Recipe source code (python)"
@@ -10612,6 +10605,16 @@ msgid ""
"group names for the various metadata entries are documented in "
"tooltips.
"
msgstr ""
+"
\n"
+"
Establezca un patrón de expresión regular para usar al tratar de "
+"determinar los metadatos de un libro a partir del nombre de fichero.
\n"
+"
Hay disponible un tutorial sobre el uso de expresiones "
+"regulares.
\n"
+"
Use la función Prueba para comprobar la expresión regular con "
+"algunos nombres ficheros de prueba (acuérdese de incluir la extensión). Los "
+"nombre de grupo para las distintas entradas de metadatos están documentados "
+"en las ayudas emergentes.
"
#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:133
msgid "Regular &expression"
@@ -10693,7 +10696,7 @@ msgid "Regular expression (?P)"
msgstr "Expresión regular (?P)"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Explorador de portadas"
@@ -10702,7 +10705,7 @@ msgid "Shift+Alt+B"
msgstr "Mayús+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Navegador de etiquetas"
@@ -10730,7 +10733,7 @@ msgstr "Actualización encontrada"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Detalles del Libro"
@@ -10832,7 +10835,7 @@ msgid "Show books in the main memory of the device"
msgstr "Mostrar los libros de la memoria principal del dispositivo"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Tarjeta A"
@@ -10841,7 +10844,7 @@ msgid "Show books in storage card A"
msgstr "Mostrar los libros de la tarjeta de memoria A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Tarjeta B"
@@ -10890,45 +10893,45 @@ msgstr "Copiar el texto de búsqueda actual (en vez del nombre de búsqueda)"
msgid "Y"
msgstr "S"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "En el dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Tamaño (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr "Modificado"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "El nombre de búsqueda es «{0}»"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "El UUID de este libro es «{0}»"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "En la biblioteca"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Tamaño"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Marcado para borrarlo"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Doble clic para editarme
"
@@ -11522,7 +11525,7 @@ msgid "Downloaded metadata fields"
msgstr "Campos de metadatos descargados"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11657,15 +11660,15 @@ msgstr "Co&mentarios"
msgid "Basic metadata"
msgstr "Metadatos básicos"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr "Tiene portada"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr "Tiene resumen"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11677,29 +11680,29 @@ msgstr ""
"se encontrará una en la fase de descargar portadas, o\n"
"al contrario."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr "Vea en"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr "calibre está descargando metadatos desde: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr "Por favor, espere"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr "Consulta: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
"No se pudieron descargar los metadatos. Pulse «Mostrar detalles» para más "
"información"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11711,38 +11714,38 @@ msgstr ""
"apellido del autor y una sola palabra del título.
Para ver el registro "
"completo, pulse «Mostrar detalles»."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr "Portada actual"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr "Buscando..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr "Descargando portadas para %s, espere..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
"No se pudo descargar ninguna portada, pulse en «Mostrar detalles» para más "
"información."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr "No se encontró ninguna portada para %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
"Se encontraron %d portadas para %s. Escoja la que más le guste."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr "Descargando metadatos..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Descargando portada..."
@@ -11998,6 +12001,233 @@ msgstr "&Usar visor interno para:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Reiniciar todos los diálogos de &confirmación desactivados"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr "es verdadero"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr "es falso"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr "no está definido"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr "tiene id"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr "no tiene id"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr "es igual a"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr "es menor que"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr "es mayor que"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr "tiene"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr "no tiene"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr "tiene el patrón"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr "no tiene el patrón"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr "está establecido"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr "no está establecido"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr "es"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr "no es"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr "coincide con el patrón"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr "no coincide con el patrón"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr "Si "
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr " la columna "
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr " el valor "
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+"Introduzca un tipo de identificador o un tipo de identificador y un valor en "
+"la forma identificador:valor"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr "Introduzca un número"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr "Introduzca una fecha en el formato AAAA-MM-DD"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr "Introduzca un texto"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr "Introduzca una expresión regular"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr "Puede seleccionar varios valores separándolos con %s"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr "Crear o modificar una regla de coloreado de columna"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr "Cree una regla de coloreado rellenando los cuadros de abajo"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr "a"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr "Sólo si todas las condiciones siguientes se satisfacen:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr "Añadir otra condición"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr "Puede desactivar una condición borrando todos sus cuadros"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr "Condición no válida"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr "Una de las condiciones para esta regla no es válida: %s"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr "No hay condiciones"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr "Debe especificar al menos una condición no nula para esta regla"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
Si la columna %s%s el valor: %s"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+"Puede controlar el color de las columnas en la lista de libros creando "
+"\"reglas\" que le indican a calibre qué color usar. Pulse en «Añadir regla» "
+"para empezar. Puede modificar una regla existente pulsando dos veces sobre "
+"ella."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr "Añadir regla"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr "Borrar regla"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr "Mover la regla seleccionada hacia arriba"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr "Mover la regla seleccionada hacia abajo"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr "Añadir regla avanzada"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr "No hay ninguna regla seleccionada"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr "No se seleccionó ninguna regla para %s."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr "borrar"
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Debe seleccionar una columna para borrarla"
@@ -12180,6 +12410,9 @@ msgid ""
"leading zeros. The format {0:d} days prints the number "
"then the word \"days\""
msgstr ""
+"Ejemplos: El formato {0:0>4d} da un número de cuatro cifras con "
+"ceros a la izquierda. El formato {0:d} días escribe un "
+"número seguido de la la palabra «días»"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:192
msgid ""
@@ -12189,6 +12422,10 @@ msgid ""
"displays the number with 2 digits after the decimal point and thousands "
"separated by commas."
msgstr ""
+"Ejemplos: El formato {0:.1f} da un número con una cifra "
+"decimal. El formato Precio: {0:.2f} € escribe "
+"«Precio: », seguido de un número con dos cifras decimales, y seguido de "
+"« €."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:201
msgid "No lookup name was provided"
@@ -12342,6 +12579,10 @@ msgid ""
"specifier.\n"
" "
msgstr ""
+"
El especificador de formato debe empezar por {0: y terminar "
+"en }. Puede poner texto delante y detrás del especificador de "
+"formato.\n"
+" "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:240
msgid ""
@@ -12349,6 +12590,9 @@ msgid ""
"href=\"http://docs.python.org/library/string.html#format-string-syntax\">the "
"python documentation"
msgstr ""
+"
Valor predeterminado: Sin formato. Para más detalles sobre el lenguaje "
+"del formato, vea la documentación de python"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:241
msgid "Format for &dates"
@@ -12356,7 +12600,7 @@ msgstr "Formato para &fechas"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:242
msgid "Format for &numbers"
-msgstr ""
+msgstr "Formato para &números"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:243
msgid "&Template"
@@ -12538,206 +12782,128 @@ msgstr ""
msgid "new email address"
msgstr "nueva dirección de correo electrónico"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Estrecho"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Ancho"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr "Apagado"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Pequeño"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Grande"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Medio"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Siempre"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
-msgid "If there is enough room"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+msgid "If there is enough room"
+msgstr "Si hay suficiente espacio"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Nunca"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "Por la primera letra"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Desactivado"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr "Particionado"
-#: /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:166
+msgid "Column coloring"
+msgstr "Coloreado de columna"
-#: /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 ""
-"Si quiere colorear un campo en función de las etiquetas, pulse el botón "
-"junto a una línea en blanco para abrir el asistente de etiquetas. El "
-"asistente creará una plantilla que usted puede editar. Si modifica una "
-"plantilla manualmente puede que el asistente no funcione o sea incapaz de "
-"restaurar valores anteriores."
-
-#: /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
"
-msgstr ""
-"La plantilla debe devolver uno de los nombres de color mostrados más abajo. "
-"Puede usar cualquier expresión de plantilla permitida. Por ejemplo, puede "
-"hacer que el título aparezca siempre en verde usando la plantilla «verde» "
-"(sin comillas). Para mostrar el título en el color especificado en la "
-"columna personalizada #columna, use «{#columna}». Para mostrar el título en "
-"azul si la columna personalizada #columna contiene el valor «bla», en rojo "
-"si contiene el valor «tararí» y en negro en los demás casos, use "
-"«{#columna:switch(bla,blue,tararí,red,black)}». Para mostrar el título en "
-"azul si el libro contiene la etiqueta exacta «Ciencia ficción», en rojo si "
-"el libro tiene la etiqueta exacta «Misterio» y en negro si no tiene ninguna, "
-"use «
». Para mostrar "
-"el título en verde si tiene un formato, en azul si tiene dos y en rojo si "
-"tiene más, use «program:cmp(count(field('formats'),','), 2, 'green', 'blue', "
-"'red')»."
-
-#: /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 ""
-"Puede acceder a un editor de plantillas de varias líneas con el menú de "
-"contexto (botón derecho)."
-
-#: /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 ""
-"Nota: Si quiere colorear una «columna personalizada con un conjunto "
-"fijo de valores», suele ser más fácil especificar los colores en el diálogo "
-"de definición de la columna. Allí puede asignar un color a cada valor sin "
-"necesidad de plantilla."
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:298
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "Diseño de la interfa&z de usuario (requiere reinicio):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Se&leccionar idioma (requiere reiniciar el programa):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "Activar &icono en bandeja del sistema (requiere reinicio)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr ""
"Desactiva todas las animaciones. Útil si tiene un ordenador lento o antiguo."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Desactivar &animaciones"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Desactivar ¬ificaciones en la bandeja del sistema"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Mostrar pantalla de bien&venida al inicio"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "Barra de herramientas"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "&Tamaño de icono:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Mostrar &texto bajo los iconos:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "Tipo de letra de la interfaz:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "Cambiar &tipo de letra (requiere reinicio)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr "Interfaz principal"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr "Seleccionar metadatos mostrados"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr "Mover hacia arriba"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr "Mover hacia abajo"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Usar números &romanos para las series"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
msgid ""
"Note that comments will always be displayed at the end, regardless of "
"the position you assign here."
@@ -12745,11 +12911,11 @@ msgstr ""
"Los comentarios se mostrarán siempre al final, independientemente de "
"la posición que se asigne aquí."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr "Metodo de &división de categorías en el navegador de etiquetas:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12763,11 +12929,11 @@ msgstr ""
"dividido para que se muestre una lista de grupos de tamaño\n"
"fijo. Desactívelo si no quiere que se muestren nunca las subcategorías."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr "&Contraer cuando el número de elementos sea mayor de:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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 "
@@ -12778,15 +12944,15 @@ msgstr ""
"se divide en subcategorías. Si el método de división es desactivado, este "
"valor no tiene función."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Mostrar &calificaciones promedio en el explorador de etiquetas"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr "Categorías con elementos &jerárquicos:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12803,39 +12969,15 @@ msgstr ""
"subcategorías de «Intriga». Si el cuadro no contiene «tags», entonces las\n"
"etiquetas se mostrarán cada una por su cuenta."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
"Mostrar explorador de &portadas en ventana separada (requiere reinicio)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr "Nú&mero de portadas a mostrar en el explorador (requiere reinicio):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:338
-msgid "Column to color"
-msgstr "Columna para colorear"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:339
-msgid "Color selection template"
-msgstr "Plantilla de selección de color"
-
-#: /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 "Abrir el asistente de etiquetas."
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:345
-msgid "Color names"
-msgstr "Nombres de color"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:346
-msgid "Column Coloring"
-msgstr "Colores de columnas"
-
#: /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"
@@ -12904,11 +13046,11 @@ msgstr "Fecha de publicación"
msgid "Configure %s %s"
msgstr "Configurar %s %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr "Ningún origen seleccionado"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr "Ningún origen seleccionado, no se puede configurar."
@@ -13750,7 +13892,7 @@ msgstr ""
"el lector Stanza de su iPhone, donde miservidor es el nombre de servidor "
"completo o la dirección IP del equipo donde se ejecuta calibre."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -13869,31 +14011,35 @@ msgstr ""
"
\n"
" "
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr "Funciones de plantilla"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr "No puede borrar una función predefinida"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr "La función no está definida"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
-msgstr "El número de argumentos debe ser -1 o mayor que 0"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
+msgstr ""
+"El número de argumentos debe ser -1 o mayor que cero. Si es cero significa "
+"que esta función no se puede usar en el modo de función única"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr "Error al compilar la función"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr "código fuente de la función no disponible"
@@ -14293,7 +14439,7 @@ msgstr "no"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:232
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:206
msgid "Affiliate:"
-msgstr ""
+msgstr "Afiliado:"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:235
msgid "Nam&e/Description ..."
@@ -14307,7 +14453,7 @@ msgstr "Consulta:"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:81
msgid "Enable"
-msgstr ""
+msgstr "Activada"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136
@@ -14323,7 +14469,7 @@ msgstr "Invertir"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
msgid "Affiliate"
-msgstr ""
+msgstr "Afiliado"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21
msgid "Enabled"
@@ -14341,21 +14487,27 @@ msgstr "Sin DRM"
msgid ""
"This store is currently diabled and cannot be used in other parts of calibre."
msgstr ""
+"Esta librería está actualmente desactivada y no se puede usar en otras "
+"partes de calibre."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:131
msgid ""
"This store is currently enabled and can be used in other parts of calibre."
msgstr ""
+"Esta librería está actualmente activada y puede usarse en otras partes de "
+"calibre."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:136
msgid "This store only distributes ebooks with DRM."
-msgstr ""
+msgstr "Esta librería sólo distribuye libros con DRM."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:138
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 ""
+"Esta librería distribuye libros con DRM. Puede que también tenga algunos "
+"libros sin DRM, pero debería comprobarlo en cada caso."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:140
msgid ""
@@ -14363,19 +14515,22 @@ msgid ""
"the store caters to. However, this does not necessarily mean that the store "
"is limited to that market only."
msgstr ""
+"La sede principal de esta librería está en %s. Esto es una indicación de "
+"cuál es su mercado prioritario, pero no significa que sea el único."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203
msgid "Buying from this store supports the calibre developer: %s."
-msgstr ""
+msgstr "Al comprar en esta librería apoya al programador de calibre: %s."
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:145
msgid "This store distributes ebooks in the following formats: %s"
msgstr ""
+"Esta librería distribuye libros electrónicos en los siguientes formatos: %s"
#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/results_view.py:47
msgid "Configure..."
-msgstr ""
+msgstr "Configurar..."
#: /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
@@ -14568,7 +14723,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:105
msgid "Buying from this store supports the calibre developer: %s"
-msgstr ""
+msgstr "Al comprar en esta librería apoya al programador de calibre: %s."
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:261
msgid "Customize get books search"
@@ -14727,7 +14882,7 @@ msgstr ""
"Cambiar los metadatos de muchos libros puede tardar un rato. ¿Está seguro?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Búsquedas"
@@ -15016,6 +15171,9 @@ msgid ""
"Update only if one of the new features or bug fixes is important to "
"you. If the current version works well for you, do not update."
msgstr ""
+"Actualice sólo si alguna de las nuevas funciones o correcciones de "
+"errores es importante para usted. Si la presente versión le funciona "
+"correctamente, no actualice."
#: /home/kovid/work/calibre/src/calibre/gui2/update.py:60
msgid "Update available!"
@@ -15656,6 +15814,8 @@ msgid ""
"
User Manual
A User Manual is also available online."
msgstr ""
+"
Manual de usuario
También hay un Manual de usuario disponible en línea."
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:49
msgid ""
@@ -17122,21 +17282,21 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sCalificación promedio es %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Principal"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
"
Migrando la base de datos antigua a la biblioteca de libros electrónicos "
"en %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Copiando %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Compactando la base de datos"
@@ -17713,7 +17873,7 @@ msgstr "error de sintaxis, el programa termina antes de EOF"
#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:103
msgid "Unknown identifier "
-msgstr ""
+msgstr "Identificador desconocido "
#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:110
msgid "unknown function {0}"
@@ -17748,7 +17908,7 @@ msgstr "No existe la variable "
msgid "No documentation provided"
msgstr "No se ha proporcionado documentación"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
@@ -17757,7 +17917,7 @@ msgstr ""
"distinguir mayúsculas y minúsculas. Devuelve mn si x < y. Devuelve ig si x = "
"y. Devuelve my en otros casos."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
@@ -17765,7 +17925,7 @@ msgstr ""
"cmp(x, y, mn, ig, my) -- compara x e y después de convertirlas en números. "
"Devuelve mn si x < y. Devuelve ig si x = y. Devuelve my en otros casos."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
@@ -17773,34 +17933,34 @@ msgstr ""
"strcat(a, b, ...) -- admite un número arbitrario de argumentos. Devuelve una "
"cadena consistente en la unión de todos los argumentos consecutivamente."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr "add(x, y) -- devuelve x + y. Da un error si x o y no es un número."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
"subtract(x, y) -- devuelve x - y. Da un error si x o y no es un número."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
"multiply(x, y) -- devuelve x * y. Da un error si x o y no es un número."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
"divide(x, y) -- devuelve x / y. Da un error si x o y no es un número."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -17817,7 +17977,7 @@ msgstr ""
"template('[[orden_de_título]]') evaluará la plantilla {orden_de_título} y "
"devolverá su valor."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
@@ -17828,7 +17988,7 @@ msgstr ""
"usar el procesador de plantillas para elaborar resultados complejos a partir "
"de variables locales."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
@@ -17836,7 +17996,7 @@ msgstr ""
"assign(id, val) -- asigna val a id y devuelve val. id debe ser un "
"identificador, no una expresión"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
@@ -17845,12 +18005,12 @@ msgstr ""
"print(a, b, ...) -- escribe los argumentos en la salida estándar. Sólo será "
"visible si inicia calibre a partir de línea de órdenes (calibre-debug -g)."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
"field(nombre) -- devuelve el campo de metadatos identificado por nombre."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
@@ -17858,7 +18018,7 @@ msgstr ""
"raw_field(nombre) -- devuelve el campo de metadatos llamado «nombre» sin "
"aplicar ningún formato."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -17873,7 +18033,7 @@ msgstr ""
"fin es cero, indica el último carácter. Por ejemplo, substr('12345', 1, 0) "
"devuelve '2345', y substr('12345', 1, -1) devuelve '234'."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -17889,11 +18049,11 @@ msgstr ""
"usar el valor de otro campo compuesto. Esto es muy útil para construir rutas "
"de guardado variables."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr "lookup requiere 2 o un número impar de argumentos"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
@@ -17901,7 +18061,7 @@ msgstr ""
"test(val, texto_si_no_vacío, texto_si_vacío) -- devuelve texto_si_no_vacío "
"si el campo no está vació, devuelve texto_si_vacío en caso contrario."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
@@ -17912,7 +18072,7 @@ msgstr ""
"Devuelve texto_si_coincide si se encuentran coincidencias, en caso contrario "
"devuelve texto_si_no_coincide."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -17926,11 +18086,11 @@ msgstr ""
"ningún patrón, devuelve otro_valor. Puede emplear tantas parejas «patrón, "
"valor» como desee."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr "switch requiere un número impar de argumentos"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -17942,7 +18102,7 @@ msgstr ""
"cada valor de la lista. Si patrón coincide con alguno de los elementos de la "
"lista devuelve encontrado, en caso contrario devuelve no_encontrado."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -17950,8 +18110,33 @@ msgid ""
"otherwise return not_found_val. If the string contains separators, then it "
"is also treated as a list and each value is checked."
msgstr ""
+"str_in_list(val, separador, texto, val_encontrado, val_no_encontrado) -- "
+"considera «val» como una lista de elementos separados por «separador», y "
+"compara el «texto» con cada valor de la lista. Si el texto coincide con "
+"alguno de los valores, devuelve «val_encontrado», en caso contrario devuelve "
+"«val_no_encontrado». Si el texto contiene separadores, también se considera "
+"como una lista y se comprueba cada elemento."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+"identifier_in_list(val, id, val_encontrado, val_no_encontrado) -- considera "
+"«val» como una lista de identificadores separados por comas, y compara el "
+"«id» con cada valor de la lista. Un identificador tiene el formato "
+"«id:valor». El argumento «id» debería ser «id» o «id:expreg». El primer caso "
+"selecciona identificadores con dicho «id». El segundo caso selecciona "
+"identificadores cuyo valor coincida con la expresión regular «expreg». Si "
+"alguna coincidencia, devuelve «val_encontrado», en caso contrario devuelve "
+"«val_no_encontrado»."
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
msgid ""
"re(val, pattern, replacement) -- return the field after applying the regular "
"expression. All instances of `pattern` are replaced with `replacement`. As "
@@ -17962,7 +18147,7 @@ msgstr ""
"sustitución. Como en todo calibre, se trata de expresiones regulares "
"compatibles con python."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
msgid ""
"ifempty(val, text if empty) -- return val if val is not empty, otherwise "
"return `text if empty`"
@@ -17970,7 +18155,7 @@ msgstr ""
"ifempty(val, texto_si_vacío) -- devuelve val si no está vacío, en caso "
"contrario devuelve texto_si_vacío."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -17993,7 +18178,7 @@ msgstr ""
"del campo es menor de car_izq + car_der + la longitud de texto_medio, se "
"usará el campo intacto. Por ejemplo, el título «La colmena» no se cambiará."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -18005,7 +18190,7 @@ msgstr ""
"mayoría de las listas usan una coma como separador, pero «authors» usa un "
"ampersand. Ejemplos: {tags:count(,)}, {authors,count(&)}"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -18020,7 +18205,7 @@ msgstr ""
"valor vacío. El separador tiene el mismo significado que en la función "
"«count»."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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, "
@@ -18030,12 +18215,12 @@ msgstr ""
"separados por comas, con los elementos de la forma «id:valor». Encuentra la "
"pareja con «id» igual a «val» y devuelve el «valor» correspondiente."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -18047,28 +18232,27 @@ msgstr ""
"lista con los elementos comprendidos entre la posición «índice_inicio» e "
"«índice_fin». El primer elemento ocupa la posición cero. Si un índice es "
"negativo, se cuenta desde el final de la lista. Como caso especial, si "
-"«índice_fin» es cero, se considera que el final de la lista. Ejemplos en el "
-"modo básico de plantilla y suponiendo que la columna de etiquetas (definida "
-"como valores separados por comas) contiene «A, B, C»: {tags:sublist{0,1,\\"
-",)} devuelve «A», {tags:sublist(-1,0,\\,)} devuelve «C», {tags:sublist(0,-"
-"1,\\,)} devuelve «A, B»."
+"«índice_fin» es cero, se considera que es el final de la lista. Ejemplos en "
+"el modo básico de plantilla y suponiendo que la columna de etiquetas "
+"(definida como valores separados por comas) contiene «A, B, C»: "
+"{tags:sublist{0,1,\\,)} devuelve «A», {tags:sublist(-1,0,\\,)} devuelve «C», "
+"{tags:sublist(0,-1,\\,)} devuelve «A, B»."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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\""
+"each such item extracting the start_index` to the `end_index` 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 ""
"subitems(val, índice_inicio, índice_fin) -- Esta función se usa para separar "
"listas de elementos tales como los géneros. Interpreta el valor como una "
@@ -18078,28 +18262,27 @@ msgstr ""
"situados entre las posiciones «índice_inicio» e «índice_fin» y combinando "
"los resultados. El primer elemento de cada lista separada por puntos ocupa "
"la posición cero. Si un índice es negativo, se cuenta desde el final de la "
-"lista. Como caso especial, si «índice_fin» es cero, se considera que el "
+"lista. Como caso especial, si «índice_fin» es cero, se considera que es el "
"final de la lista. Ejemplos en el modo básico de plantilla y suponiendo que "
-"la columna #genre contiene el valor «A.B.C»: {#genre:subitems(0,1)} devuelve "
-"«A», {#genre:subitems(0,2)} devuelve «A.B», {#genre:subitems(1,0)} devuelve "
-"«B.C». Suponiendo que #genre contiene el valor «A.B.C, D.E.F»: "
-"{#genre:subitems(0,1)} devuelve «A, D», {#genre:subitems(0,2)} devuelve "
-"«A.B, D.E»."
+"la columna #género contiene el valor «A.B.C»: {#género:subitems(0,1)} "
+"devuelve «A», {#género:subitems(0,2)} devuelve «A.B», "
+"{#género:subitems(1,0)} devuelve «B.C». Suponiendo que #género contiene el "
+"valor «A.B.C, D.E.F»: {#género:subitems(0,1)} devuelve «A, D», "
+"{#género:subitems(0,2)} devuelve «A.B, D.E»."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:523
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
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"
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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 ""
"format_date(val, texto_formato) -- da formato a un valor, que debe ser un "
"campo de fecha, según «texto_formato» y devuelve un texto. Los códigos de "
@@ -18113,37 +18296,39 @@ msgstr ""
"«dic»). «MMMM»: el nombre local completo del mes (p. ej. de «enero» a "
"«diciembre»). «yy»: el año como un número de dos cifras (de 00 a 99). "
"«yyyy»: el año como un número de cuatro cifras. «iso»: la fecha con hora y "
-"zona horaria; debe ser el único formato presente."
+"zona horaria. Debe ser el único formato presente."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:551
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:612
msgid "uppercase(val) -- return value of the field in upper case"
msgstr "uppercase(val) -- devuelve el valor del campo en mayúsculas"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
msgid "lowercase(val) -- return value of the field in lower case"
msgstr "lowercase(val) -- devuelve el valor del campo en minúsculas"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
"titlecase(val) -- devuelve el valor del campo con las iniciales en mayúscula"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
"capitalize(val) -- devuelve el valor del campo con la primera letra mayúscula"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
-msgstr ""
+msgstr "booksize() -- devuelve el valor del campo de tamaño"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
+"ondevice() -- devuelve «Yes» si ondevice está activado, si no, devuelve un "
+"texto vacío"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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 "
@@ -18153,7 +18338,7 @@ msgstr ""
"vacío. Si todos los valores están vacíos, se devuelve también un valor "
"vacío. Puede incluir tantos valores como quiera."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
@@ -18163,7 +18348,7 @@ msgstr ""
"está vacío, en caso contrario devuelve un texto vacío. Esta función funciona "
"bien con first_non_empty. Puede incluir tantos valores como quiera."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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 "
@@ -18173,7 +18358,7 @@ msgstr ""
"está vacío, en caso contrario devuelve un texto vacío. Esta función funciona "
"bien con first_non_empty. Puede incluir tantos valores como quiera."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
@@ -18182,7 +18367,7 @@ msgstr ""
"not(valor) -- devuelve el texto «1» si el valor está vacío, en caso "
"contrario devuelve un texto vacío."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -18769,11 +18954,11 @@ msgstr ""
"los autores.\n"
"Puede ser «True» (sí) o «False» (no)"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr "Algoritmo de orden de autor"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -18809,11 +18994,11 @@ msgstr ""
"manera\n"
"automática."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr "Usar el orden de autor en el explorador de etiquetas"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -18847,11 +19032,40 @@ msgstr ""
"categories_use_field_for_author_name = 'author'\n"
"categories_use_field_for_author_name = 'author_sort'"
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+"Orden de autocompletado: elija cuándo cambiar de lexicográfico a ASCII"
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+"Normalmente calibre usa un orden lexicográfico que depende del idioma local\n"
+"al mostrar los valores de autocompletado. Esto significa que el orden es "
+"correcto\n"
+"en el idioma del usuario. Sin embargo, puede ser lento. El rendimiento "
+"mejora\n"
+"si se usa el orden ASCII. Este ajuste controla cuándo se hace el cambio de "
+"orden.\n"
+"Establézcalo a cero para usar siempre el orden ASCII. Use un número mayor "
+"que\n"
+"cero para cambiar al orden ASCII para mejorar el rendimiento."
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr "División del explorador de etiquetas"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -18906,11 +19120,11 @@ msgstr ""
"(«\\») en la plantilla. No perjudica en nada dejarla aunque no haya barras "
"invertidas."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr "Orden inicial de la lista de libros"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -18929,11 +19143,11 @@ msgstr ""
"Por ejemplo, establezca el ajuste a «[('authors',0),('title',0)]» para\n"
"ordenar por títulos dentro de cada autor."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr "Formato de fechas"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -18982,11 +19196,11 @@ msgstr ""
"Valor predeterminado para la fecha de publicación: MMM yyyy\n"
"Valor predeterminado para la marca de tiempo: dd MMM yyyy"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr "Orden de títulos y series en la biblioteca"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -19019,11 +19233,11 @@ msgstr ""
"Es suficiente con hacer doble clic en el título y pulsar la tecla intro sin\n"
"cambiar nada para actualizar el orden."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr "Formato de títulos y series en las plantillas"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -19055,11 +19269,11 @@ msgstr ""
"ajuste se\n"
"establece en «strictly_alphabetic», se mantiene como «The Lord of the Rings»."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr "Lista de palabras consideradas como «artículos» para ordenar texto"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -19084,11 +19298,11 @@ msgstr ""
"sin más. Para desactivar la opción use '^$'\n"
"Valor predeterminado: '^(A|The|An)\\s+'"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr "Carpeta a la que calibre se conecta en el inicio"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -19108,11 +19322,11 @@ msgstr ""
"auto_connect_to_folder = 'C:\\\\Users\\\\someone\\\\Desktop\\\\testlib'\n"
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr "Reglas de renombrado para las colecciones SONY"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -19237,11 +19451,11 @@ msgstr ""
"sony_collection_renaming_rules={'series':'Serie', 'tags':'Etiqueta'}\n"
"sony_collection_name_template='{category:||: }{value}'"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr "Orden de las colecciones SONY"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -19290,11 +19504,11 @@ msgstr ""
"Valor predeterminado: vacío (sin reglas), con lo que no se nombra\n"
"ningún atributo de colecciones."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr "Aplicación de etiquetas al copiar libros a otra biblioteca"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
@@ -19304,20 +19518,20 @@ msgstr ""
"libros\n"
"a otra biblioteca"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
"Número máximo de etiquetas por libro que se muestran en el servidor de "
"contenidos"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
"Campos personalizados de metadatos que se muestran o no en el servidor de "
"contenidos"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -19352,11 +19566,11 @@ msgstr ""
"content_server_will_display = ['*']\n"
"content_server_wont_display = ['#mycomments']"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr "Número máximo de «niveles» de ordenación"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -19378,11 +19592,11 @@ msgstr ""
"ralentización,\n"
"reduzca el valor de este ajuste."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr "Tipo de letra usado al generar la portada predeterminada"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -19397,11 +19611,11 @@ msgstr ""
"caracteres\n"
"del idioma de los libros en la biblioteca"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr "Doble clic en la lista de libros"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -19417,11 +19631,11 @@ msgstr ""
"Valor predeterminado: «open_viewer».\n"
"Ejemplo: doubleclick_on_library_view = 'do_nothing'"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr "Idioma para usar al ordenar"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -19447,13 +19661,13 @@ msgstr ""
"Ejemplo: locale_for_sorting = 'nb' -- ordenación según las reglas noruegas "
"(bokmål)."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
"Número de columnas para metadatos personalizados en el diálogo de edición de "
"metadatos"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -19464,11 +19678,11 @@ msgstr ""
"al editar los metadatos de un solo libro. Si es «True» (sí), los campos se\n"
"distribuyen en dos columnas. Si es «False» (no), se usa sólo una columna."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr "Número de segundos de espera antes de mandar correos electrónicos"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -19483,11 +19697,11 @@ msgstr ""
"tendrán\n"
"efecto tras el reinicio de calibre."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr "Eliminar las líneas amarillas en los bordes de la lista de libros"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
@@ -19498,13 +19712,13 @@ msgstr ""
"cuando se oculta una sección de la interfaz. Los cambios tendrán\n"
"efecto tras el reinicio de calibre."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
"Anchura y altura máximas de las portadas guardadas en la biblioteca de "
"calibre"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
@@ -19514,11 +19728,11 @@ msgstr ""
"manteniendo las proporciones, para ajustarse a este tamaño. Así\n"
"se evita la ralentización debida a portadas extremadamante grandes."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr "Dónde enviar las noticias descargadas"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -19538,11 +19752,11 @@ msgstr ""
"se enviarán\n"
"a la ubicación que tenga más espacio libre."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr "En qué interfaces debe escuchar el servidor de contenidos"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -19559,11 +19773,11 @@ msgstr ""
"conexiones IPv6 e IPv4 entrantes (esto puede no funcionar en todos los\n"
"sistemas operativos)."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr "Barra de herramientas unificada en OS X"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -23005,6 +23219,9 @@ msgstr ""
#~ msgid "Download latest version of builtin recipes"
#~ msgstr "Descargar la última versión de las recetas incorporadas"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Elegir formatos que no hayan de ser borrados"
+
#~ msgid "Communicate with the Sony PRS-600/700/900 eBook reader."
#~ msgstr "Comunicar con el lector Sony PRS-600/700/900."
@@ -24742,6 +24959,9 @@ msgstr ""
#~ msgid "Plugin {0} successfully removed"
#~ msgstr "El complemento {0} se ha eliminado correctamente"
+#~ msgid "Argument count must be -1 or greater than zero"
+#~ msgstr "El número de argumentos debe ser -1 o mayor que 0"
+
#~ msgid ""
#~ "\n"
#~ "\n"
@@ -25161,6 +25381,60 @@ msgstr ""
#~ "
"
+#~ 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 ""
+#~ "sublist(val, índice_inicio, índice_fin, separador) -- interpreta el valor "
+#~ "como una lista de elementos separados por «separador» y devuelve una nueva "
+#~ "lista con los elementos comprendidos entre la posición «índice_inicio» e "
+#~ "«índice_fin». El primer elemento ocupa la posición cero. Si un índice es "
+#~ "negativo, se cuenta desde el final de la lista. Como caso especial, si "
+#~ "«índice_fin» es cero, se considera que el final de la lista. Ejemplos en el "
+#~ "modo básico de plantilla y suponiendo que la columna de etiquetas (definida "
+#~ "como valores separados por comas) contiene «A, B, C»: {tags:sublist{0,1,\\"
+#~ ",)} devuelve «A», {tags:sublist(-1,0,\\,)} devuelve «C», {tags:sublist(0,-"
+#~ "1,\\,)} devuelve «A, B»."
+
+#~ 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 ""
+#~ "subitems(val, índice_inicio, índice_fin) -- Esta función se usa para separar "
+#~ "listas de elementos tales como los géneros. Interpreta el valor como una "
+#~ "lista de elementos separados por comas, donde cada elemento es a su vez una "
+#~ "lista de elementos separados por puntos. Devuelve una nueva lista formada "
+#~ "tomando, de cada lista de elementos separados por puntos, los elementos "
+#~ "situados entre las posiciones «índice_inicio» e «índice_fin» y combinando "
+#~ "los resultados. El primer elemento de cada lista separada por puntos ocupa "
+#~ "la posición cero. Si un índice es negativo, se cuenta desde el final de la "
+#~ "lista. Como caso especial, si «índice_fin» es cero, se considera que el "
+#~ "final de la lista. Ejemplos en el modo básico de plantilla y suponiendo que "
+#~ "la columna #genre contiene el valor «A.B.C»: {#genre:subitems(0,1)} devuelve "
+#~ "«A», {#genre:subitems(0,2)} devuelve «A.B», {#genre:subitems(1,0)} devuelve "
+#~ "«B.C». Suponiendo que #genre contiene el valor «A.B.C, D.E.F»: "
+#~ "{#genre:subitems(0,1)} devuelve «A, D», {#genre:subitems(0,2)} devuelve "
+#~ "«A.B, D.E»."
+
#~ msgid "Downloads metadata from The Open Library"
#~ msgstr "Descarga metadatos de The Open Library"
@@ -25234,6 +25508,34 @@ msgstr ""
#~ msgid "Configure metadata downloading"
#~ msgstr "Configurar descarga de metadatos"
+#~ 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 ""
+#~ "format_date(val, texto_formato) -- da formato a un valor, que debe ser un "
+#~ "campo de fecha, según «texto_formato» y devuelve un texto. Los códigos de "
+#~ "formato son: «d»: el día como un número, sin cero inicial (de 1 a 31). «dd»: "
+#~ "el día como un número, con un cero inicial si es necesario (de 01 a 31). "
+#~ "«ddd»: el día de la semana abreviado según el idioma local (p. ej. de «lun» "
+#~ "a «dom»). «dddd»: el nombre local completo del día de la semana (p. ej. de "
+#~ "«lunes» a «domingo»). «M»: el mes como un número sin cero inicial (de 1 a "
+#~ "12). «MM»: el mes como un número, con un cero inicial si es necesario (de 01 "
+#~ "a 12). «MMM»: el mes abreviado según el idioma local (p. ej. de «ene» a "
+#~ "«dic»). «MMMM»: el nombre local completo del mes (p. ej. de «enero» a "
+#~ "«diciembre»). «yy»: el año como un número de dos cifras (de 00 a 99). "
+#~ "«yyyy»: el año como un número de cuatro cifras. «iso»: la fecha con hora y "
+#~ "zona horaria; debe ser el único formato presente."
+
#~ msgid ""
#~ "Output field to sort on.\n"
#~ "Available fields: author_sort, id, rating, size, timestamp, title.\n"
@@ -25402,12 +25704,42 @@ msgstr ""
#~ msgid "Zaczarowany świat książek"
#~ msgstr "Zaczarowany świat książek"
+#~ msgid "Open Tag Wizard"
+#~ msgstr "Abrir asistente de etiquetas"
+
+#~ msgid "Invalid text"
+#~ msgstr "Texto no válido"
+
+#~ msgid "Tag Wizard"
+#~ msgstr "Asistente de etiquetas"
+
+#~ msgid "The text in the box was not generated by this wizard"
+#~ msgstr "El texto del cuadro no ha sido generado por este asistente"
+
#~ msgid "Tags (more than one per box permitted)"
#~ msgstr "Etiquetas (se permite más de una por cuadro)"
#~ msgid "Color"
#~ msgstr "Color"
+#~ msgid "Invalid color"
+#~ msgstr "Color no válido"
+
+#~ msgid "The color {0} is not valid"
+#~ msgstr "El color {0} no es válido"
+
+#~ 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 ""
+#~ "Si quiere colorear un campo en función de las etiquetas, pulse el botón "
+#~ "junto a una línea en blanco para abrir el asistente de etiquetas. El "
+#~ "asistente creará una plantilla que usted puede editar. Si modifica una "
+#~ "plantilla manualmente puede que el asistente no funcione o sea incapaz de "
+#~ "restaurar valores anteriores."
+
#~ 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 "
@@ -25422,6 +25754,39 @@ msgstr ""
#~ "ebook.com/user_manual/template_lang.html\">tutorial sobre el uso de "
#~ "plantillas."
+#~ 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 ""
+#~ "Nota: Si quiere colorear una «columna personalizada con un conjunto "
+#~ "fijo de valores», suele ser más fácil especificar los colores en el diálogo "
+#~ "de definición de la columna. Allí puede asignar un color a cada valor sin "
+#~ "necesidad de plantilla."
+
+#~ msgid "Color selection template"
+#~ msgstr "Plantilla de selección de color"
+
+#~ msgid "Open the tags wizard."
+#~ msgstr "Abrir el asistente de etiquetas."
+
+#~ msgid "Color names"
+#~ msgstr "Nombres de color"
+
+#~ msgid "Column Coloring"
+#~ msgstr "Colores de columnas"
+
+#~ msgid ""
+#~ "You can access a multi-line template editor from the context menu (right-"
+#~ "click)."
+#~ msgstr ""
+#~ "Puede acceder a un editor de plantillas de varias líneas con el menú de "
+#~ "contexto (botón derecho)."
+
+#~ msgid "Column to color"
+#~ msgstr "Columna para colorear"
+
#~ msgid ""
#~ "
This store is currently diabled and cannot be used in other parts of "
#~ "calibre.
Esta librería distribuye libros con DRM. Puede que también tenga algunos "
#~ "libros sin DRM, pero debería comprobarlo en cada caso.
"
+
+#~ 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
"
+#~ msgstr ""
+#~ "La plantilla debe devolver uno de los nombres de color mostrados más abajo. "
+#~ "Puede usar cualquier expresión de plantilla permitida. Por ejemplo, puede "
+#~ "hacer que el título aparezca siempre en verde usando la plantilla «verde» "
+#~ "(sin comillas). Para mostrar el título en el color especificado en la "
+#~ "columna personalizada #columna, use «{#columna}». Para mostrar el título en "
+#~ "azul si la columna personalizada #columna contiene el valor «bla», en rojo "
+#~ "si contiene el valor «tararí» y en negro en los demás casos, use "
+#~ "«{#columna:switch(bla,blue,tararí,red,black)}». Para mostrar el título en "
+#~ "azul si el libro contiene la etiqueta exacta «Ciencia ficción», en rojo si "
+#~ "el libro tiene la etiqueta exacta «Misterio» y en negro si no tiene ninguna, "
+#~ "use «
». Para mostrar "
+#~ "el título en verde si tiene un formato, en azul si tiene dos y en rojo si "
+#~ "tiene más, use «program:cmp(count(field('formats'),','), 2, 'green', 'blue', "
+#~ "'red')»."
+
+#~ msgid ""
+#~ "You can enter more than one tag per box, separated by commas. The comparison "
+#~ "ignores letter case. A tag value can be a regular expression. Check the "
+#~ "box to turn them on. When using regular expressions, note that the wizard "
+#~ "puts anchors (^ and $) around the expression, so you must ensure your "
+#~ "expression matches from the beginning to the end of the tag. Regular "
+#~ "expression examples:"
+#~ msgstr ""
+#~ "Puedes introducir varios tag por caja, separados por comas. La comparación "
+#~ "ignora mayúsculas o minúsculas. Un tag puede ser una expresión regular. "
+#~ "Verifica la caja para activarla. Cuando uses expresiones regulares, verás "
+#~ "que el asistente pondrá anclas (^ y $) alrededor de la expresión, asi que "
+#~ "debes asegurarte de que la expresión corresponde al principio del tag. "
+#~ "Ejemplos de expresiones regulares:"
+
+#~ msgid "Tags (see the popup help for more information)"
+#~ msgstr "Tags (mira el globo de ayuda para más información)"
diff --git a/src/calibre/translations/et.po b/src/calibre/translations/et.po
index bcff9ffc7a..06b393d9e5 100644
--- a/src/calibre/translations/et.po
+++ b/src/calibre/translations/et.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
-"PO-Revision-Date: 2011-05-23 06:41+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
+"PO-Revision-Date: 2011-06-06 08:20+0000\n"
"Last-Translator: keski \n"
"Language-Team: Estonian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:42+0000\n"
+"X-Launchpad-Export-Date: 2011-06-07 04:32+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Ei tee midagi"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Ei tee midagi"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Ei tee midagi"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -236,7 +236,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:613
msgid "An ebook store."
-msgstr ""
+msgstr "E-raamatu pood"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:18
msgid ""
@@ -244,12 +244,16 @@ msgid ""
"linked files. This plugin is run every time you add an HTML file to the "
"library."
msgstr ""
+"Järgi kõiki linke HTML failis ja loo kõiki lingitud faile sisaldav ZIP fail. "
+"See pistikprogramm käivitub iga kord kui lisad HTML faili raamatukokku."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:54
msgid ""
"Character encoding for the input HTML files. Common choices include: cp1252, "
"latin1, iso-8859-1 and utf-8."
msgstr ""
+"Kooditabel HTML failide lisamiseks. Tavalised valikud on cp1252, latin1, iso-"
+"8859-1 ja utf-8."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:61
msgid ""
@@ -267,7 +271,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:168
msgid "Extract cover from comic files"
-msgstr ""
+msgstr "Paki failist lahti koomiksi kaas"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:205
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:216
@@ -291,15 +295,15 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:416
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:427
msgid "Read metadata from %s files"
-msgstr ""
+msgstr "Loe meta-andmed %s failidest"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:364
msgid "Read metadata from ebooks in RAR archives"
-msgstr ""
+msgstr "Loe metaandmed RAR arhiivis olevatest e-raamatutest"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:438
msgid "Read metadata from ebooks in ZIP archives"
-msgstr ""
+msgstr "Loe metaandmed ZIP arhiivis olevatest e-raamatutest"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:451
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:472
@@ -330,7 +334,7 @@ msgstr "Kasutajaliides"
#: /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 ""
+msgstr "Kohanda calibre liidese välimust ja tunnetust oma maitse järgi"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895
msgid "Behavior"
@@ -338,7 +342,7 @@ msgstr "Käitumine"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:901
msgid "Change the way calibre behaves"
-msgstr ""
+msgstr "Kohanda calibre käitumist"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:221
@@ -361,15 +365,15 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929
msgid "Searching"
-msgstr ""
+msgstr "Otsin"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:935
msgid "Customize the way searching for books works in calibre"
-msgstr ""
+msgstr "Kohanda viisi, kuidas raamatute otsimine calibres toimub"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:940
msgid "Input Options"
-msgstr ""
+msgstr "Sisendisuvand"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:942
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:953
@@ -379,11 +383,11 @@ msgstr "Teisendamine"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946
msgid "Set conversion options specific to each input format"
-msgstr ""
+msgstr "Seadista teisendussuvandeid vastavalt igale sisendformaadile"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:951
msgid "Common Options"
-msgstr ""
+msgstr "Üldine häälestus"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:957
msgid "Set conversion options common to all formats"
@@ -424,7 +428,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:997
msgid "Sending books to devices"
-msgstr ""
+msgstr "Saadan raamatuid seadmetele"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003
msgid "Control how calibre transfers files to your ebook reader"
@@ -744,13 +748,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +821,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -842,7 +846,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +855,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1224,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2648,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2683,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2719,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2896,7 +2900,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3078,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4253,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4431,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4461,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4532,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5149,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5261,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7531,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7585,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7618,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7755,14 +7761,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8821,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8995,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9474,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9483,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9511,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9650,7 +9612,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9621,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9667,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10249,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10371,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10387,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10415,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10649,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11341,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11480,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11509,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11579,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12279,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12347,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13161,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15139,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15689,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15741,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15781,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15791,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15817,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15829,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15838,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15876,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15884,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15893,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15913,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16516,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16538,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16561,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16611,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16626,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16651,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16675,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16696,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16714,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16731,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16806,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16837,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16875,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16891,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16903,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16917,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16935,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16947,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16960,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16996,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17011,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/eu.po b/src/calibre/translations/eu.po
index d22df3bf41..e0d0bffe0e 100644
--- a/src/calibre/translations/eu.po
+++ b/src/calibre/translations/eu.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-08 17:11+0000\n"
"Last-Translator: Oier Mees \n"
"Language-Team: Basque \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:39+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:34+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Ez du ezer egiten"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Ez du ezer egiten"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Ez du ezer egiten"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -804,7 +804,7 @@ msgstr "Araztu saioa"
msgid "Communicate with Android phones."
msgstr "Adroid telefonoekin komunikatu."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -812,7 +812,7 @@ msgstr ""
"Gailuan dagoen komen bitartez bereizitako direktorioen zerrenda, liburu "
"elektronikoak hara igortzeko. Existitzen den lehena erabiliko da."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "S60 telefonoekin komunikatu."
@@ -885,14 +885,14 @@ msgstr "Irakurgailuaren zerrendatze metadatuak eguneratzen..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d-tik %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "amaiturik"
@@ -915,7 +915,7 @@ msgstr ""
"Azalaren arte lan batzuk ezin izan dira bihurtu.\n"
"Egin ezazu klik 'Zehaztasunak erakutsi' zerrenda ikusteko."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -924,22 +924,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Albisteak"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalogoa"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Komunikatu iTunes horrekin ."
@@ -1315,11 +1315,11 @@ msgstr "Komunikatu \"Aluratek Color\" enpresakoekin."
msgid "Communicate with the Trekstor"
msgstr "Komunikatu \"Trekstor\" enpresakoekin."
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Kontaktatu EEE Reader horrekin"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Kontaktatu Nextbook Reader horrekin"
@@ -3129,33 +3129,33 @@ msgstr ""
"beretik, saia zaitez modu automatikoan detektatzen ea CBZ/CBR fitxategiak "
"ote diren."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "AKATSA TXANTILOIAN"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Ez"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Bai"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3164,35 +3164,35 @@ msgstr "Bai"
msgid "Title"
msgstr "Izenburua"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Egilea(k)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Argitaratzailea"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Ekoizlea"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Iruzkinak"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3200,34 +3200,34 @@ msgstr "Iruzkinak"
msgid "Tags"
msgstr "Etiketak"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Serieak"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Hizkuntza"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Dataren zigilua (noizkoa)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Argitaratua"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Eskubideak"
@@ -3411,7 +3411,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3600,7 +3600,7 @@ msgid "HTML TOC generation options."
msgstr "HTML aurkibideak sortzeko aukerak."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4904,47 +4904,49 @@ msgid "Choose formats to be deleted"
msgstr "Aukeratu ezabatzeko formatuak"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Aukeratu formatuak ez ezabatzeko"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Ezin liburuak ezabatu"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Ez dago konektaturik inolako irakurgailurik"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Memoria nagusia"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Memoria-txartela A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Memoria-txartela B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Ez dago ezabatzeko libururik"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Hautatutako liburuak ez daude irakurgailuan, ezta bakar bat ere"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Ezabatzen liburuak irakurgailutik."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -4952,7 +4954,7 @@ msgstr ""
"Hautatutako liburuetako batzuk erantsitako gailuan daude. Nondik nahi "
"duzu ezabatu hautatutako fitxategiak?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4960,7 +4962,7 @@ msgstr ""
"Aukeratutako liburuak betiko ezabatu egingo dira zure calibre "
"liburutegitik eta fitxategiak ezabatu egingo dira betiko. Ziur zaude?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -5087,8 +5089,8 @@ msgstr "Kale egin du metadatuak deskargatzen"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -5117,7 +5119,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -5211,11 +5213,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5862,7 +5864,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Bildumak"
@@ -5974,7 +5976,7 @@ msgstr "outputa, helburua"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8330,19 +8332,19 @@ msgid "&Profile:"
msgstr "&Profila:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "&Ados"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "&Bertan behera utzi"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Iruzkinak editatu"
@@ -8386,8 +8388,8 @@ msgid "Location"
msgstr "Kokalekua"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8419,7 +8421,7 @@ msgstr "Egile izenaren araberako sailkapena"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Ez da bat datorrenik aurkitu"
@@ -8562,14 +8564,14 @@ msgid "Copied"
msgstr "Kopiaturik"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Kopiatu arbelean"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9703,7 +9705,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9890,110 +9892,66 @@ msgstr "Eman izen berria elementuari erabili izan den liburu guztietan."
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Editatu txantiloia"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Aztertu e-posta ezarpenak"
@@ -10435,7 +10393,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Liburu-azalen arakatzailea"
@@ -10444,7 +10402,7 @@ msgid "Shift+Alt+B"
msgstr "Maiusk+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Etiketa arakatzailea"
@@ -10472,7 +10430,7 @@ msgstr "Eguneraketa aurkitua"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Liburuaren zehaztasunak"
@@ -10573,7 +10531,7 @@ msgid "Show books in the main memory of the device"
msgstr "Erakutsi liburuak irakurgailuaren memoria nagusian"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "A txartela"
@@ -10582,7 +10540,7 @@ msgid "Show books in storage card A"
msgstr "Erakutsi liburuak A memoria-txartelean"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "B txartela"
@@ -10631,45 +10589,45 @@ msgstr "Kopiatu oraingo bilaketa testua (bilaketa izenaren ordez)"
msgid "Y"
msgstr "B"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "Irakurgailuan"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Tamaina (Mb)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "Bilaketa izena hauxe: \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "Liburu honen UUID (Universally Unique Identifier) hauxe da: \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "Liburutegian"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Tamaina"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Ezabatzeko markatuta"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Egin ezazu klik birritan editatzeko
"
@@ -11245,7 +11203,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11371,15 +11329,15 @@ msgstr "&Iruzkinak"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11387,27 +11345,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11415,35 +11373,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Deskargatzen liburu-azala..."
@@ -11665,6 +11623,219 @@ msgstr "Erabili barneko &ikusgailua honetarako:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Berrezarri desgaitutako &baieztapen elkarrizketak"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Zutabe bat hautatu beharko duzu ezabatzeko"
@@ -12186,188 +12357,139 @@ msgstr ""
msgid "new email address"
msgstr "e-posta helbide berria"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Estu"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Zabal"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Txiki"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Handi"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Ertain"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Beti"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Inoiz ez"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "Lehen letratik"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Desgaitua"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr "Partizioduna"
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "Erabiltzailearen interfazearen &diseinua (berrabiarazi beharko):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Aukeratu &hizkuntza (berrabiarazi beharko gero):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "Gaitu sistema &erretilu ikonoa (berrabiarazi beharko)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr ""
"Desgaitu animazio guztiak. Erabilgarria ordenagailu motela/zaharra baldin "
"badaukazu."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Desgaitu &animazioak"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Desgaitu &abisuak sistemaren erretiluan"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Erakutsi &splash (harrerako) pantaila hasterakoan"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "&Tresna-barra"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "&Ikonoaren tamaina:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Erakutsi &testua ikonoen azpian:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "Interfazeko letra-tipoa:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "Aldatu &letra-tipoa (berrabiazi beharko)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Erabili &Erromatar zenbakiak serietan"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12381,11 +12503,11 @@ msgstr ""
"izateko neurriz egokiturik dauden taldeak. Ezarri desgaitua\n"
"ez badituzu inoiz azpikategoriak nahi."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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 "
@@ -12396,15 +12518,15 @@ msgstr ""
"azpi-kategorietan. Zatiketa metodoa desgaituta baldin badago, balio honi ez "
"zaio jaramonik egingo."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Erakutsi &batez besteko balorazioak etiketen arakatzailean"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12414,41 +12536,17 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
"Erakutsi liburu-azala &arakatzailea leiho bananduetan (berrabiarazi beharko)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr ""
"Nabigatzaile moduan erakusteko liburu-azalen &Kopurua (berrabiarazi "
"beharko):"
-#: /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"
@@ -12516,11 +12614,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -13292,7 +13390,7 @@ msgstr ""
"ostatze-izena edo bestela, calibre exekutatzen ari den ordenagailuko IP "
"helbidea."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -13360,31 +13458,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -14181,7 +14281,7 @@ msgstr ""
"Liburu multzo batean metadatuak aldatzeko denbora beharko. Ziur zaude?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Bilaketak"
@@ -16509,21 +16609,21 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sBatezbesteko balorazioa hauxe: %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Nagusia"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
"
Migrazioa egiten datu base zaharretik liburu elektronikoen liburutegira "
"zera honetan: %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Kopiatzen %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Trinkotzen datu basea"
@@ -17128,49 +17228,49 @@ msgstr "Ez dago horrelako aldagairik "
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -17180,37 +17280,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -17220,7 +17320,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -17230,24 +17330,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr "bilatzeak bai 2 bai argumentu kopuru bakoitia eskatzen du"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -17256,11 +17356,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr "aldizkatzeak argumentu kopuru bakoitia eskatzen du"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -17268,7 +17368,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -17277,20 +17377,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -17304,7 +17415,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -17312,7 +17423,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -17321,19 +17432,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -17341,95 +17452,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -17980,11 +18089,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -18002,11 +18111,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -18025,11 +18134,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -18057,11 +18184,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -18072,11 +18199,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -18097,11 +18224,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -18121,11 +18248,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -18142,11 +18269,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -18160,11 +18287,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -18177,11 +18304,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -18252,11 +18379,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -18283,26 +18410,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -18321,11 +18448,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -18337,11 +18464,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -18349,11 +18476,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -18363,11 +18490,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -18381,11 +18508,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -18393,11 +18520,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -18406,33 +18533,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -18442,11 +18569,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -18457,11 +18584,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -18864,6 +18991,9 @@ msgstr ""
#~ "Kopia bikoitz batzuk aurkitu dira eta batu egin dira dagoeneko sortuak "
#~ "zeuden liburu hauetan:"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Aukeratu formatuak ez ezabatzeko"
+
#~ msgid ""
#~ "The selected books will be permanently deleted and the files removed "
#~ "from your computer. Are you sure?"
diff --git a/src/calibre/translations/fa.po b/src/calibre/translations/fa.po
index 6832ea2a4a..025bfaac3a 100644
--- a/src/calibre/translations/fa.po
+++ b/src/calibre/translations/fa.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-04-09 04:20+0000\n"
"Last-Translator: Milad Naseri \n"
"Language-Team: Persian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:49+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:44+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "هیچ کار ویژ ه ای انجام نمی دهد"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "هیچ کار ویژ ه ای انجام نمی دهد"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -765,13 +765,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -838,14 +838,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -863,7 +863,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -872,22 +872,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1241,11 +1241,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2665,33 +2665,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2700,35 +2700,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2736,34 +2736,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2917,7 +2917,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3095,7 +3095,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4270,59 +4270,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4446,8 +4448,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4476,7 +4478,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4547,11 +4549,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5164,7 +5166,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5276,7 +5278,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7546,19 +7548,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7600,8 +7602,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7633,7 +7635,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7776,14 +7778,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8836,7 +8838,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9010,110 +9012,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9533,7 +9491,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9542,7 +9500,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9570,7 +9528,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9671,7 +9629,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9680,7 +9638,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9726,45 +9684,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10308,7 +10266,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10430,15 +10388,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10446,27 +10404,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10474,35 +10432,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10708,6 +10666,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11187,186 +11358,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11375,26 +11497,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11404,38 +11526,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11498,11 +11596,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12198,7 +12296,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12266,31 +12364,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13078,7 +13178,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15056,19 +15156,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15606,49 +15706,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15658,37 +15758,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15698,7 +15798,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15708,24 +15808,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15734,11 +15834,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15746,7 +15846,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15755,20 +15855,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15782,7 +15893,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15790,7 +15901,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15799,19 +15910,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15819,95 +15930,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16424,11 +16533,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16446,11 +16555,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16469,11 +16578,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16501,11 +16628,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16516,11 +16643,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16541,11 +16668,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16565,11 +16692,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16586,11 +16713,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16604,11 +16731,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16621,11 +16748,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16696,11 +16823,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16727,26 +16854,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16765,11 +16892,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16781,11 +16908,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16793,11 +16920,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16807,11 +16934,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16825,11 +16952,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16837,11 +16964,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16850,33 +16977,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16886,11 +17013,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16901,11 +17028,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/fi.po b/src/calibre/translations/fi.po
index de3952f395..44ecc7af81 100644
--- a/src/calibre/translations/fi.po
+++ b/src/calibre/translations/fi.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-04 13:38+0000\n"
"Last-Translator: Aleksi Kinnunen \n"
"Language-Team: Finnish \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:42+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:38+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Ei tee mitään"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Ei tee mitään"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Ei tee mitään"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -790,7 +790,7 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr "Kommunikoi Android-puhelinten kanssa."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -798,7 +798,7 @@ msgstr ""
"Pilkulla eroteltu lista laitteen hakemistoista, joihin e-kirjat lähetetään. "
"Ensimmäistä olemassaolevaa käytetään"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Kommunikoi S60-puhelimien kanssa."
@@ -865,14 +865,14 @@ msgstr "Päivittää laitteen metatietolistausta..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d %d:stä"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "Valmis"
@@ -895,7 +895,7 @@ msgstr ""
"Osaa kansitaiteesta ei voitu kääntää.\n"
"Valitse 'Näytä yksityiskohdat' nähdäksesi listan."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -904,22 +904,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Uutiset"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Kommunikoi iTunesin kanssa."
@@ -1275,11 +1275,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2760,33 +2760,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2795,35 +2795,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2831,34 +2831,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -3012,7 +3012,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3190,7 +3190,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4365,59 +4365,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4541,8 +4543,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4571,7 +4573,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4642,11 +4644,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5259,7 +5261,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5371,7 +5373,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7641,19 +7643,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7695,8 +7697,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7728,7 +7730,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7871,14 +7873,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8931,7 +8933,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9105,110 +9107,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9628,7 +9586,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9637,7 +9595,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9665,7 +9623,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9766,7 +9724,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9775,7 +9733,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9821,45 +9779,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10403,7 +10361,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10525,15 +10483,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10541,27 +10499,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10569,35 +10527,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10803,6 +10761,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11282,186 +11453,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11470,26 +11592,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11499,38 +11621,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11593,11 +11691,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12293,7 +12391,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12361,31 +12459,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13173,7 +13273,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15151,19 +15251,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15701,49 +15801,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15753,37 +15853,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15793,7 +15893,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15803,24 +15903,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15829,11 +15929,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15841,7 +15941,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15850,20 +15950,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15877,7 +15988,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15885,7 +15996,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15894,19 +16005,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15914,95 +16025,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16523,11 +16632,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16545,11 +16654,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16568,11 +16677,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16600,11 +16727,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16615,11 +16742,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16640,11 +16767,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16664,11 +16791,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16685,11 +16812,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16703,11 +16830,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16720,11 +16847,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16795,11 +16922,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16826,26 +16953,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16864,11 +16991,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16880,11 +17007,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16892,11 +17019,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16906,11 +17033,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16924,11 +17051,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16936,11 +17063,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16949,33 +17076,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16985,11 +17112,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17000,11 +17127,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/fo.po b/src/calibre/translations/fo.po
index 1a37c549ee..0fd1ca64c3 100644
--- a/src/calibre/translations/fo.po
+++ b/src/calibre/translations/fo.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2010-06-11 18:48+0000\n"
"Last-Translator: Kovid Goyal \n"
"Language-Team: Faroese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:42+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:38+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -744,13 +744,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +817,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -842,7 +842,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +851,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1220,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2644,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2679,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2715,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2896,7 +2896,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3074,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4249,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4427,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4457,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4528,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5145,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5257,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7527,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7581,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7614,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7755,14 +7757,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8817,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8991,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9470,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9479,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9507,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9650,7 +9608,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9617,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9663,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10245,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10367,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10383,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10411,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10645,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11337,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11476,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11505,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11575,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12275,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12343,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13157,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15135,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15685,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15737,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15777,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15787,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15813,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15825,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15834,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15872,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15880,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15889,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15909,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16512,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16534,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16557,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16607,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16622,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16647,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16671,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16692,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16710,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16727,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16802,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16833,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16871,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16887,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16899,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16913,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16931,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16943,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16956,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16992,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17007,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po
index 33ae2901e8..49f9369a5f 100644
--- a/src/calibre/translations/fr.po
+++ b/src/calibre/translations/fr.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre 0.4.22\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-28 01:46+0000\n"
"Last-Translator: Vincent Coiffier \n"
"Language-Team: Français \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:43+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:38+0000\n"
"X-Generator: Launchpad (build 12959)\n"
"X-Poedit-Bookmarks: 1177,1104,-1,-1,-1,-1,-1,-1,-1,-1\n"
"Generated-By: pygettext.py 1.5\n"
@@ -50,10 +50,10 @@ msgstr "Ne fait strictement rien"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -78,7 +78,7 @@ msgstr "Ne fait strictement rien"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -148,32 +148,32 @@ msgstr "Ne fait strictement rien"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -807,7 +807,7 @@ msgstr "Journal de débogage"
msgid "Communicate with Android phones."
msgstr "Communiquer avec les téléphones Android"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -815,7 +815,7 @@ msgstr ""
"Liste de répertoires séparés par des virgules utilisée pour envoyer les "
"ebooks vers l'appareil. Le premier existant sera utilisé."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Communiquer avec les téléphones S60"
@@ -899,14 +899,14 @@ msgstr "Mise à jour de la liste des métadonnées de l'appareil..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d sur %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "Terminé"
@@ -929,7 +929,7 @@ msgstr ""
"Certaines illustrations de couverture n'ont pu être converties.\n"
"Cliquer sur 'Afficher Détails' pour une liste."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -938,22 +938,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Informations"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Catalogue"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Communiquer avec iTunes"
@@ -1332,11 +1332,11 @@ msgstr "Communiquer avec le Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "Communiquer avec le Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Communiquer avec le lecteur EEE"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Communiquer avec le lecteur Nextbook"
@@ -3152,33 +3152,33 @@ msgstr ""
"(zip/rar). Essaie aussi de détecter automatiquement si ce sont des fichiers "
"cbz/cbr."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "ERREUR DE MODELE"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Non"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Oui"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3187,35 +3187,35 @@ msgstr "Oui"
msgid "Title"
msgstr "Titre"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Auteur(s)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Éditeur"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Producteur"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Commentaires"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3223,34 +3223,34 @@ msgstr "Commentaires"
msgid "Tags"
msgstr "Etiquettes"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Séries"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Langue"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Horodatage"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Publié"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Droits"
@@ -3436,7 +3436,7 @@ msgstr "Amazon : délai de connexion dépassé. Veuillez réessayer plus tard."
msgid "Metadata source"
msgstr "Source de métadonnées"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr "Télécharge les métadonnées et les couvertures à partir de Douban.com"
@@ -3640,7 +3640,7 @@ msgid "HTML TOC generation options."
msgstr "Options pour la génération des tables de matières HTML."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -5019,47 +5019,49 @@ msgid "Choose formats to be deleted"
msgstr "Choisir les formats à supprimer"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Choisir les formats à ne pas supprimer"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Impossible d'effacer les livres"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Aucun appareil n'est connecté"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Mémoire principale"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Carte mémoire A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Carte mémoire B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Aucun livre à effacer"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Aucun des livres sélectionnés n'est sur l'appareil"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Suppression des livres dans l'appareil"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -5067,7 +5069,7 @@ msgstr ""
"Certains des livres sélectionnés sont présents sur l'appareil connecté. A "
"partir d'où voulez-vous supprimer les fichiers?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -5076,7 +5078,7 @@ msgstr ""
"fichiers associés seront retirés de votre bibliothèque calibre. Êtes-vous "
"certain?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -5206,8 +5208,8 @@ msgstr "Echec du téléchargement des métadonnées"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr "Le téléchargement a échoué."
@@ -5242,7 +5244,7 @@ msgid "Download complete"
msgstr "Téléchargement terminé"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr "Journal de Téléchargement"
@@ -5341,11 +5343,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr "Valide les modifications de métadonnées"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr "Des échecs"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -6006,7 +6008,7 @@ msgid "Book %s of %s"
msgstr "Livre %s sur%s"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Collections"
@@ -6118,7 +6120,7 @@ msgstr "sortie"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8601,19 +8603,19 @@ msgid "&Profile:"
msgstr "&Profil :"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "&OK"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "&Annuler"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Editer les commentaires"
@@ -8657,8 +8659,8 @@ msgid "Location"
msgstr "Emplacement"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8697,7 +8699,7 @@ msgstr "Clé de tri par auteur"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Aucun résultat"
@@ -8846,14 +8848,14 @@ msgid "Copied"
msgstr "Copié"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Copie vers le presse-papier"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr "Afficher le journal"
@@ -10037,7 +10039,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr "Nom déjà utilisé"
@@ -10228,110 +10230,66 @@ msgstr "Renommer l'article dans chaque livre où il est utilisé."
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr "&Nom de la fonction :"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr "&Documentation :"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr "&Code python :"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:32
msgid "Open Template Editor"
msgstr "Ouvrir Editeur De Modèle"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:39
-msgid "Open Tag Wizard"
-msgstr "Ouvrir Assistant Etiquette"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Editer le modèle"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr "Texte invalide"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-msgid "The text in the box was not generated by this wizard"
-msgstr "Le texte dans la boîte n'a pas été généré par cet assistant"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:64
-msgid "Tag Wizard"
-msgstr "Assistant Etiquette"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr "Couleur invalide"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-msgid "The color {0} is not valid"
-msgstr "La couleur {0} n'est pas valide"
-
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:56
msgid "Test email settings"
msgstr "Tester le paramétrage email"
@@ -10776,7 +10734,7 @@ msgid "Regular expression (?P)"
msgstr "Expression régulière (?P) (publié)"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Navigateur de couvertures"
@@ -10785,7 +10743,7 @@ msgid "Shift+Alt+B"
msgstr "Maj+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Navigateur d'étiquettes"
@@ -10813,7 +10771,7 @@ msgstr "Mise à jour trouvée"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Détails du livre"
@@ -10917,7 +10875,7 @@ msgid "Show books in the main memory of the device"
msgstr "Afficher les livres dans mémoire principale de l'appareil"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Carte A"
@@ -10926,7 +10884,7 @@ msgid "Show books in storage card A"
msgstr "Afficher les livres dans la carte mémoire A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Carte B"
@@ -10976,45 +10934,45 @@ msgstr ""
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "Dans l'appareil"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Taille (Mo)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr "Modifié"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "Le nom recherché/consulté est \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "L'UUID de ce livre est \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "Dans la bibliothèque"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Taille"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Marqué pour suppression"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Double clic pour m' éditer
"
@@ -11613,7 +11571,7 @@ msgid "Downloaded metadata fields"
msgstr "Champs de métadonnées téléchargés"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11748,15 +11706,15 @@ msgstr "&Commentaires"
msgid "Basic metadata"
msgstr "Métadonnées basiques"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr "Posséde une couverture"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr "Posséde un résumé"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11764,29 +11722,29 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr "Voir à"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr "Calibre télécharge les métadonnées à partir de : "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr "Veuillez patienter"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr "Requête : "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
"Le téléchargement des métadonnées a échoué. Cliquer Afficher Détails pour "
"voir les détails"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11798,38 +11756,38 @@ msgstr ""
"le nom de famille de l'auteur et un unique mot distinctif du titre.
Pour "
"voir le journal en entier, cliquer Afficher Détails."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr "Couverture actuelle"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr "Recherche en cours..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr "Téléchargement des couvertures pour %s, veuillez patienter..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
"Impossible de télécharger toutes les couvertures, cliquer \"Afficher "
"détails\" pour les détails"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr "Impossible de trouver toutes les couvertures de %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
"%d couvertures sur %s trouvées. Sélectionner celle que vous préférez."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr "Télécharge les métadonnées..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Télécharge la couverture..."
@@ -12058,6 +12016,219 @@ msgstr "Utiliser l'&afficheur interne pour :"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Réinitialiser tous les dialogues de &confirmation"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Vous devez sélectionner une colonne pour pouvoir la supprimer"
@@ -12600,180 +12771,131 @@ msgstr ""
msgid "new email address"
msgstr "Nouvelle adresse email"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Etroit"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Large"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr "Désactivé"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Petit"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Large"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Moyen"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Toujours"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Jamais"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "Par la première lettre"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Désactivé"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr "Partitionné"
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
"Présentation de &l'interface utilisateur (nécessite un redémarrage) :"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Choisir la &langue (nécessite un redémarrage) :"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
"&Activer l'affichage dans la zone de notification (redémarrage nécessaire)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr ""
"Désactiver toutes les animations. Utile si vous avez un vieil ordinateur ou "
"un ordinateur lent"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Désactiver les &animations"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Désactiver l'affichage des alertes dans la zone de ¬ification"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Afficher l'&écran d'accueil au démarrage"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "&Barre d'outils"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "Taille d'&icone"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Afficher le &texte sous les icônes :"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "Police de l'interface :"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "Modifier la &police (rdémarrage nécessaire)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr "Interface Principale"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr "Sélectionner les métadonnées affichées"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr "Monter"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr "Descendre"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Utiliser des chiffres &romains pour les séries"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
msgid ""
"Note that comments will always be displayed at the end, regardless of "
"the position you assign here."
@@ -12781,11 +12903,11 @@ msgstr ""
"Noter que les commentaires seront toujours affichés à la fin, quelque "
"soit la position que vous attribuez ici."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr "Méthode de division des catégories du navigateur d'étiquettes :"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12800,11 +12922,11 @@ msgstr ""
"avoir une liste de groupes de tailles fixes. Indiquer désactiver\n"
" si vous ne voulez pas de sous-catégories."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr "Minimiser quand le nombre d'élements dépasse :"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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 "
@@ -12814,15 +12936,15 @@ msgstr ""
"d'articles, ceci est divisé en sous-catégories. Si la méthode partition est "
"désactivée, cette valeur est ignorée."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Afficher la note moyenne dans le navigateur d'étiquettes"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr "Catégories avec des articles hiérarchiques:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12832,42 +12954,18 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
"Afficher la &navigation par couverture dans une fenêtre séparée (redémarrage "
"nécessaire)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr ""
"&Nombre de couvertures à afficher dans le mode navigation (nécessite un "
"redémarrage) :"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:338
-msgid "Column to color"
-msgstr "Colonne à coloriser"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:339
-msgid "Color selection template"
-msgstr "Modèle de sélection de la couleur"
-
-#: /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 "Ouvrir l'assistant étiquettes."
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:345
-msgid "Color names"
-msgstr "Noms de couleur"
-
-#: /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"
@@ -12935,11 +13033,11 @@ msgstr "Date de publication"
msgid "Configure %s %s"
msgstr "Configurer %s %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr "Pas de source sélectionnée"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr "Pas de source sélectionnée, impossible de configurer."
@@ -13732,7 +13830,7 @@ msgstr ""
"Stanza de votre iPhone. Ici nomhote doit être le nom d'hôte complet ou "
"l'adresse IP de l'ordinateur sur lequel Calibre est démarré."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -13871,31 +13969,33 @@ msgstr ""
"
\n"
" "
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr "Modèles de fonctions"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr "Vous ne pouvez pas supprimer une fonction intégrée"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr "Fonction non définie"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
-msgstr "Le nombre d'arguments doit être -1 ou supérieur à 0"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr "Exception lors de la compilation de la fonction"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr "code source de la fonction indisponible"
@@ -14711,7 +14811,7 @@ msgstr ""
"Etes-vous sûr?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Recherches"
@@ -17123,19 +17223,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "La note moyenne de %sest %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Principal"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr "
Migre l'ancienne base vers la bibliothèque dans %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Copie %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Compacte la base"
@@ -17743,7 +17843,7 @@ msgstr "Cette variable n'est pas définie "
msgid "No documentation provided"
msgstr "Pas de documentation fournie"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
@@ -17752,7 +17852,7 @@ msgstr ""
"des chaines x et y. Renvoie lt si x < y. Renvoie eq si x == y. Sinon renvoie "
"gt."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
@@ -17760,7 +17860,7 @@ msgstr ""
"cmp(x, y, lt, eq, gt) -- comparer x et y après les avoir converti tous les "
"deux en nombres. Renvoie lt si x < y. Renvoie eq si x == y. Sinon renvoie gt."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
@@ -17768,7 +17868,7 @@ msgstr ""
"strcat(a, b, ...) -- peut avoir tout nombre d'arguments. Renvoie une chaine "
"constitué par la concaténation de tous les arguments"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
@@ -17776,7 +17876,7 @@ msgstr ""
"add(x, y) -- renvoie x + y. Renvoie une exception si x ou y ne sont pas des "
"nombres."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
@@ -17784,7 +17884,7 @@ msgstr ""
"subtract(x, y) -- renvoie x - y. Renvoie une exception si x ou y ne sont pas "
"des nombres."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
@@ -17792,7 +17892,7 @@ msgstr ""
"multiply(x, y) -- renvoie x * y. Renvoie une exception si x ou y ne sont pas "
"des nombres."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
@@ -17800,7 +17900,7 @@ msgstr ""
"divide(x, y) -- renvoie x / y. Renvoie une exception si x ou y ne sont pas "
"des nombres."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -17817,7 +17917,7 @@ msgstr ""
"template('[[title_sort]]') évaluera le modèle {title_sort} et retournera sa "
"valeur."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
@@ -17828,7 +17928,7 @@ msgstr ""
"traitement du modèle de construire des résultats complexes à partir de "
"variables locales."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
@@ -17836,7 +17936,7 @@ msgstr ""
"assign(id, val) -- assigne val à id, puis renvoie val. id doit être un "
"identifiant, pas une expression"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
@@ -17846,11 +17946,11 @@ msgstr ""
"vous avez démarré calibre à partir de la ligne de commande (calibre-debug -"
"g), la sortie ira dans un trou noir."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr "field(nom) -- renvoie le champ de métadonnée nommé par nom"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
@@ -17858,7 +17958,7 @@ msgstr ""
"raw_field(nom) -- renvoie le champ de métadonnées nom sans appliquer aucune "
"mise en forme."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -17874,7 +17974,7 @@ msgstr ""
"Par exemple, substr('12345', 1, 0) renvoie '2345', et substr('12345', 1, -1) "
"renvoie '234'."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -17891,11 +17991,11 @@ msgstr ""
"composés. C'est extrêmement utile dans la construction des chemins de "
"sauvegarde variables."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr "la recherche requiert un nombre pair d'arguments (2 ou plus)"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
@@ -17903,7 +18003,7 @@ msgstr ""
"test(val, texte si non vide, texte si vide) -- renvoie `texte si non vide` "
"si le champ n'est pas vide, sinon renvoie `texte si vide`"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
@@ -17914,7 +18014,7 @@ msgstr ""
"l'expression régulière `modele`. Renvoie `texte si correspondance` si des "
"correspondances sont trouvées, sinon `texte si pas de correspondance`"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -17928,11 +18028,11 @@ msgstr ""
"n'y a pas de correspondance alors sinon_valeur est renvoyé. Vous pouvez "
"avoir autant de paries `modele, valeur` que vous voulez"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr "le basculement nécessite un nombre pair d'arguments"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -17940,7 +18040,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -17949,7 +18049,18 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
msgid ""
"re(val, pattern, replacement) -- return the field after applying the regular "
"expression. All instances of `pattern` are replaced with `replacement`. As "
@@ -17960,7 +18071,7 @@ msgstr ""
"par `remplacement`. Comme tout dans calibre, celles-ci sont compatibles avec "
"les expressions regulières python"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
msgid ""
"ifempty(val, text if empty) -- return val if val is not empty, otherwise "
"return `text if empty`"
@@ -17968,7 +18079,7 @@ msgstr ""
"ifempty(val, texte si vide) -- renvoie val si val n'est pas vide, sinon "
"renvoie `texte si vide`"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -17994,7 +18105,7 @@ msgstr ""
"champ ne sera pas modifié. Par exemple, le titre `The Dome` ne serait pas "
"modifié."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -18006,7 +18117,7 @@ msgstr ""
"Beaucoup de listes utilisent une virgule comme séparateur, mais les auteurs "
"utilisent l'esperluette. Exemples: {tags:count(,)}, {authors:count(&)}"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -18021,7 +18132,7 @@ msgstr ""
"alors une valeur vide est renvoyée. Le séparateur a la même signafication "
"que dans la fonction `count`."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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, "
@@ -18031,12 +18142,12 @@ msgstr ""
"des virgules, les items étant de la forme \"id:value\". Trouve la paire dont "
"l'id est égale à la clé, et retourne la valeur correspondante."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -18044,95 +18155,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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\""
+"each such item extracting the start_index` to the `end_index` 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:523
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
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"
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:551
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:612
msgid "uppercase(val) -- return value of the field in upper case"
msgstr "uppercase(val) -- renvoie la valeur du champ en majuscule"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
msgid "lowercase(val) -- return value of the field in lower case"
msgstr "lowercase(val) -- renvoie la valeur du champ en miniscule"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
msgid "titlecase(val) -- return value of the field in title case"
msgstr "titlecase(val) -- renvoie la valeur du champ pour le titre"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid "capitalize(val) -- return value of the field capitalized"
msgstr "capitalize(val) -- renvoie la valeur du champ en lettres capitales"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -18688,11 +18797,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr "Algorithme de tri par auteur"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -18710,11 +18819,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr "Utiliser le tri par auteur dans le Navigateur d’Étiquettes"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -18733,11 +18842,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -18765,12 +18892,12 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
"Spécifier les colonnes pour le tri de la liste des livres au démarrage"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -18781,11 +18908,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr "Contrôler comment les dates sont affichées"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -18806,12 +18933,12 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
"Contrôler le tri des titres et séries dans l'affichage de la librairie"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -18851,12 +18978,12 @@ msgstr ""
"sur Enter sans rien\n"
"modifier est suffisant pour modifier le tri."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
"Contrôler le formatage des titres et séries utilisés dans les modèles"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -18873,13 +19000,13 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
"Indiquer la liste des mots considérés comme des \"articles\" pour les "
"chaines de tri"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -18904,12 +19031,12 @@ msgstr ""
"Pour désactiver, utiliser cette expression: '^$'\n"
"Par défaut: '^(A|The|An)\\s+'"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
"Spécifier un répertoire auquel calibre doit se connecter au démarrage"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -18922,11 +19049,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr "Spécifier les règles de renommage pour les collections SONY."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -18997,11 +19124,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr "Spécifier comment les collections SONY sont triées"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -19028,13 +19155,13 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
"Contrôler comment les étiquettes sont appliquées lors de la copie des livres "
"vers une autre librairie"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
@@ -19044,20 +19171,20 @@ msgstr ""
"d'un livre' ont été ajoutées lors de la copie des livres vers une autre "
"librairie"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
"Indiquer le nombre maximum d'étiquettes à afficher par livre dans le serveur "
"de contenu"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
"Indiquer les champs de métadonnées personnalisées que le serveur de contenu "
"pourra ou ne pourra pas afficher."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -19093,11 +19220,11 @@ msgstr ""
"content_server_will_display = ['*']\n"
"content_server_wont_display['#mycomments']"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr "Fixe le nombre maximum de 'niveaux' de tri"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -19109,13 +19236,13 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
"Spécifier quelle fonte utiliser lors de la génération d'une couverture par "
"défaut"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -19129,11 +19256,11 @@ msgstr ""
"(Liberation Serif) ne contient pas de glyphes pour la langue des livres dans "
"votre librairie."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr "Contrôler le comportement des double clics dans la liste de livre"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -19149,11 +19276,11 @@ msgstr ""
"Par défaut: open_viewer.\n"
"Exemple: doubleclick_on_library_view = 'do_nothing'"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr "Langue à utiliser lors du tri."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -19167,13 +19294,13 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
"Nombre de colonnes pour une métadonnée personnalisée dans la boite de "
"dialogue d'édition des métadonnées"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -19186,11 +19313,11 @@ msgstr ""
"affichés en utilisant deux\n"
"colonnes. A 'False', une colonne est utilisée."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr "Le nombre de secondes à attendre avant d'envoyer les emails"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -19206,12 +19333,12 @@ msgstr ""
"après le redémarrage\n"
"de calibre."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
"Supprime les lignes jaunes brillantes sur les bords de la liste de livres"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
@@ -19223,24 +19350,24 @@ msgstr ""
"prendrons effet\n"
"après un redémarrage de Calibre."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
"La hauteur et le largeur maximum des couvertures sauvegardées dans la "
"bibliothèque Calibre"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr "Où envoyer les les news téléchargées"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -19250,11 +19377,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr "Quelles interfaces le serveur de contenu devraient écouter"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -19274,11 +19401,11 @@ msgstr ""
"connections (ceci peut ne pas\n"
"fonctionner sur tous les systèmes d'exploitation)"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr "Barre d'outil non définie sur OS X"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -22453,6 +22580,9 @@ msgstr ""
#~ "
Manuel utilisateur
Un manuel utilisateur est aussi disponible en ligne."
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Choisir les formats à ne pas supprimer"
+
#~ msgid "English (PK)"
#~ msgstr "Anglais (PK)"
@@ -24403,6 +24533,9 @@ msgstr ""
#~ msgid "&Highlight"
#~ msgstr "&Surligner"
+#~ msgid "Argument count must be -1 or greater than zero"
+#~ msgstr "Le nombre d'arguments doit être -1 ou supérieur à 0"
+
#~ msgid "\""
#~ msgstr "\""
@@ -25003,12 +25136,42 @@ msgstr ""
#~ msgid "Google Books"
#~ msgstr "Google Books"
+#~ msgid "Open Tag Wizard"
+#~ msgstr "Ouvrir Assistant Etiquette"
+
+#~ msgid "Invalid text"
+#~ msgstr "Texte invalide"
+
+#~ msgid "The text in the box was not generated by this wizard"
+#~ msgstr "Le texte dans la boîte n'a pas été généré par cet assistant"
+
+#~ msgid "Tag Wizard"
+#~ msgstr "Assistant Etiquette"
+
#~ msgid "Tags (more than one per box permitted)"
#~ msgstr "Etiquettes (plus d'une par boîte autorisée)"
#~ msgid "Color"
#~ msgstr "Couleur"
+#~ msgid "Invalid color"
+#~ msgstr "Couleur invalide"
+
+#~ msgid "The color {0} is not valid"
+#~ msgstr "La couleur {0} n'est pas valide"
+
+#~ msgid "Column to color"
+#~ msgstr "Colonne à coloriser"
+
+#~ msgid "Color selection template"
+#~ msgstr "Modèle de sélection de la couleur"
+
+#~ msgid "Open the tags wizard."
+#~ msgstr "Ouvrir l'assistant étiquettes."
+
+#~ msgid "Color names"
+#~ msgstr "Noms de couleur"
+
#~ msgid "
This store distributes ebooks in the following formats: %s
"
#~ msgstr ""
#~ "
Cette boutique distribue des ebooks dans les formats suivants: %s
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Non é posíbel eliminar libros"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Non hai ningún dispositivo conectado"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Memoria principal"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Tarxeta de almacenaxe A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Tarxeta de almacenaxe B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Ningún libro para eliminar"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Ningún dos libros seleccionados se atopan no dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Eliminando libros do dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -4946,7 +4948,7 @@ msgstr ""
"Algúns dos libros seleccionados están no dispositivo conectado. De "
"onde quere borrar os libros seleccionados?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4954,7 +4956,7 @@ msgstr ""
"O libros seleccionados serán eliminados permanentemente e os "
"ficheiros retirados da súa biblioteca do Calibre. Está seguro?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -5082,8 +5084,8 @@ msgstr "Produciuse un fallo ao descargar os metadatos"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr "Produciuse un fallo na descarga"
@@ -5112,7 +5114,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -5205,11 +5207,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5850,7 +5852,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Coleccións"
@@ -5962,7 +5964,7 @@ msgstr "saída"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8389,19 +8391,19 @@ msgid "&Profile:"
msgstr "&Perfil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "&Aceptar"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "&Cancelar"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Editar os comentarios"
@@ -8445,8 +8447,8 @@ msgid "Location"
msgstr "Localización"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8483,7 +8485,7 @@ msgstr "Ordenar por autoría"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Non se atopou ningunha coincidencia"
@@ -8632,14 +8634,14 @@ msgid "Copied"
msgstr "Copiado"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Copiar no portapapeis"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9833,7 +9835,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr "O nome xa está en uso"
@@ -10017,110 +10019,66 @@ msgstr "Cambiar o nome ao elemento en cada libro que o emprega."
msgid "Ctrl+S"
msgstr "Ctrl + S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr "&Nome da función:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr "&Documentación:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr "&Código Python:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Editar o modelo"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Probar a configuración do correo de proba"
@@ -10563,7 +10521,7 @@ msgid "Regular expression (?P)"
msgstr "Expresión regular (?P)"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Navegador de cubertas"
@@ -10572,7 +10530,7 @@ msgid "Shift+Alt+B"
msgstr "Maiús+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Navegador de etiquetas"
@@ -10600,7 +10558,7 @@ msgstr "Actualización atopada"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Detalles do libro"
@@ -10702,7 +10660,7 @@ msgid "Show books in the main memory of the device"
msgstr "Amosar os libros na memoria principal do dispositivo"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Tarxeta A"
@@ -10711,7 +10669,7 @@ msgid "Show books in storage card A"
msgstr "Amosar os libros almacenados na tarxeta A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Tarxeta B"
@@ -10760,45 +10718,45 @@ msgstr "Copiar o texto de busca actual (no canto do nome da busca)"
msgid "Y"
msgstr "S"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "No dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Tamaño (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "O nome de busca é «{0}»"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "O UUID deste libro é «{0}»"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "Na biblioteca"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Tamaño"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Marcado para eliminar"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Prema dúas veces para editar
"
@@ -11377,7 +11335,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11502,15 +11460,15 @@ msgstr "&Comentarios"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11518,27 +11476,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11546,35 +11504,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Descargando a cuberta..."
@@ -11822,6 +11780,219 @@ msgstr "Usar o &visor interno para:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Restabelecer todos os diálogos de confirmación desa_ctivados"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Debe seleccionar unha columna para eliminala"
@@ -12345,188 +12516,139 @@ msgstr ""
msgid "new email address"
msgstr "novo enderezo de correo"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Estreito"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Largo"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Pequeno"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Grande"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Medio"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Sempre"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Nunca"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "Pola primeira letra"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Desactivado"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr "Particionado"
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "Disposición da interface de usuario (precisa reiniciar)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Elixa o &idioma (require reiniciar)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "Activar a icona da bandexa do sis&tema (precisa reiniciar)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr ""
"Desactivar todas as animacións, unha opción útil se tivermos un computador "
"antigo."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Desactivar as &animacións"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Desactivar ¬ificacións na bandexa do sistema"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Amosar a &pantalla de benvida ao comezar"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "Barra de &ferramentas"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "Tamaño da &icona:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Amosar &texto debaixo das iconas"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "Tipo de letra da interface:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "Cambiar o &tipo de letra (require o reinicio)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Usar números &romanos para as series"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr "Método de &división de categorías no navegador de etiquetas:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12540,11 +12662,11 @@ msgstr ""
"ter unha lista de grupos de tamaño fixo. Escolla desactivado\n"
"se non vai querer nunca subcategorías"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr "&Contraer cando o número de elementos sexa maior ca:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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 "
@@ -12555,15 +12677,15 @@ msgstr ""
"en subcategorías. Se o método de partición se pon como desactivado, "
"ignorarase este valor."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Amosar as &puntuacións no navegador de etiquetas"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr "Categorías con elementos &xerárquicos:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12579,40 +12701,16 @@ msgstr ""
"subcategorías de «Misterio». Se o cadro non contén «tags», daquela as\n"
"etiquetas amosaranse cada unha pola súa conta."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
"Amosar a &navegación por cuberta nunha xanela separada (precisa reiniciar)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr ""
"&Número de cuberta para amosar no modo de navegación (precisa reiniciar):"
-#: /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"
@@ -12680,11 +12778,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -13501,7 +13599,7 @@ msgstr ""
"lector Stanza do seu iPhone, onde «meuservidor» é o nome completo ou o "
"enderezo IP do equipo onde se executa Calibre."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -13639,31 +13737,33 @@ msgstr ""
"
\n"
" "
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr "Funcións de modelo"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr "Non pode borrar unha función predefinida"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr "A función non está definida"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
-msgstr "O número de argumentos debe ser -1 ou maior que 0"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr "Error o compilar a función"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr "código fonte da función non dispoñible"
@@ -14469,7 +14569,7 @@ msgstr ""
"Cambiar os metadatos de moitos libros pode tardar bastante. Está seguro?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Buscas"
@@ -16838,21 +16938,21 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sA valoración promedio é %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Principal"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
"
Migrando a base de datos antiga á biblioteca de libros electrónicos en "
"%s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Copiando %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Compactando a base de datos"
@@ -17458,7 +17558,7 @@ msgstr "Non existe a variable "
msgid "No documentation provided"
msgstr "Non se proporcionou información"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
@@ -17467,7 +17567,7 @@ msgstr ""
"distinguir maiúsculas e minúsculas. Devolve mn se x < y. Devolve ig se x = "
"y. Devolve my no resto dos casos."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
@@ -17476,7 +17576,7 @@ msgstr ""
"números. Devolve mn se x < y. Devolve ig se x = y. Devolve my no resto dos "
"casos."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
@@ -17484,33 +17584,33 @@ msgstr ""
"strcat(a, b, ...) -- admite un número arbitrario de argumentos. Devolve unha "
"cadea consistente na unión de todos os argumentos consecutivamente."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr "add(x, y) -- devolve x + y. Da un erro se x ou y non son números."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
"subtract(x, y) -- devolve x - y. Da un erro se x ou y non son números."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
"multiply(x, y) -- devolve x * y. Da un erro se x ou y non son números."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr "divide(x, y) -- devolve x / y. Da un erro se x ou y non son números."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -17526,7 +17626,7 @@ msgstr ""
"converteranse automaticamente. Por exemplo, template('[[orde_de_título]]') "
"avaliará o modelo {orde_de_título} e devolverá o seu valor."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
@@ -17537,7 +17637,7 @@ msgstr ""
"procesador de modelos para elaborar resultados complexos a partir de "
"variábeis locais."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
@@ -17545,7 +17645,7 @@ msgstr ""
"assign(id, val) -- asigna val a id e devolve val. id debe ser un "
"identificador, non una expresión"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
@@ -17554,11 +17654,11 @@ msgstr ""
"print(a, b, ...) -- escribe os argumentos na saída estándar. Só será visible "
"se inicia calibre dende a liña de comandos (calibre-debug -g)."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr "field(nome) -- devolve o campo de metadatos identificado por nome."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
@@ -17566,7 +17666,7 @@ msgstr ""
"raw_field(nome) -- devolve o campo de metadatos chamado «nome» sen aplicar "
"ningún formato."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -17581,7 +17681,7 @@ msgstr ""
"indica o derradeiro carácter. Por exemplo, substr('12345', 1, 0) devolve "
"'2345', e substr('12345', 1, -1) devolve '234'."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -17597,11 +17697,11 @@ msgstr ""
"valor doutro campo composto. Isto é moi útil para construír rutas para "
"gardar variábeis."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr "a busca por require 2 ou un número impar de argumentos"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
@@ -17610,7 +17710,7 @@ msgstr ""
"texto_se_non_baleiro se o campo non está baleiro, devolve texto_se_baleiro "
"en caso contrario."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
@@ -17621,7 +17721,7 @@ msgstr ""
"texto_se_coincide se se encontran coincidencias, en caso contrario devolve "
"texto_se_non_coincide."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -17635,11 +17735,11 @@ msgstr ""
"ningún patrón, devolve outro_valor. Pode usar tantas parellas \"patrón, "
"valor\" como desexe."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr "alternar require un número impar de argumentos"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -17647,7 +17747,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -17656,7 +17756,18 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
msgid ""
"re(val, pattern, replacement) -- return the field after applying the regular "
"expression. All instances of `pattern` are replaced with `replacement`. As "
@@ -17667,7 +17778,7 @@ msgstr ""
"substitución. Como en todo calibre, trátase de expresións regulares "
"compatibles con python."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
msgid ""
"ifempty(val, text if empty) -- return val if val is not empty, otherwise "
"return `text if empty`"
@@ -17675,7 +17786,7 @@ msgstr ""
"ifempty(val, texto_se_baleiro) -- devolve val se non está baleiro, en caso "
"contrario devolve texto_se_baleiro."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -17699,7 +17810,7 @@ msgstr ""
"devolverase o campo intacto. Por exemplo, o título \"Follas novas\" non se "
"cambiaría."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -17711,7 +17822,7 @@ msgstr ""
"das listas usan unha coma como separador, pero \"authors\" usa un ampersand. "
"Exemplos: {tags:count(,)}, {authors,count(&)}"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -17726,7 +17837,7 @@ msgstr ""
"valor baleiro. O separador ten o mesmo significado que en na función "
"\"count\"."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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, "
@@ -17736,134 +17847,108 @@ msgstr ""
"separados por comas, cos elementos da forma «id:valor». Encontra a parella "
"con «id» igual a «val» e devolve o «valor» correspondente."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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 ""
-"sublist(val, índice_inicio, índice_fin, separador) -- interpreta o valor "
-"como unha lista de elementos separados por «separador» e devolve unha nova "
-"lista cos elementos comprendidos entre a posición «índice_inicio» e "
-"«índice_fin». O primeiro elemento ocupa a posición cero. Se un índice é "
-"negativo, cóntase desde o final da lista. Como caso especial, se "
-"«índice_fin» é cero, considérase como final da lista. Exemplos no modo "
-"básico de modelo e supoñendo que a columna de etiquetas (definida como "
-"valores separados por comas) contén «A, B, C»: {tags:sublist{0,1,\\,)} "
-"devolve «A», {tags:sublist(-1,0,\\,)} devolve «C», {tags:sublist(0,-1,\\,)} "
-"devolve «A, B»."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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\""
+"each such item extracting the start_index` to the `end_index` 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 ""
-"subitems(val, índice_inicio, índice_fin) -- Esta función úsase para separar "
-"listas de elementos tales como os xéneros. Interpreta o valor como unha "
-"lista de elementos separados por comas, onde cada elemento é á súa vez unha "
-"lista de elementos separados por puntos. Devolve unha nova lista formada "
-"tomando, de cada lista de elementos separados por puntos, os elementos "
-"situados entre as posicións «índice_inicio» e «índice_fin» e combinando os "
-"resultados. O primeiro elemento de cada lista separada por puntos ocupa a "
-"posición cero. Se un índice é negativo, cóntase desde o final da lista. Como "
-"caso especial, se «índice_fin» é cero, considérase como final da lista. "
-"Exemplos no modo básico de modelo e supoñendo que a columna #genre contén o "
-"valor «A.B.C»: {#genre:subitems(0,1)} devolve «A», {#genre:subitems(0,2)} "
-"devolve «A.B», {#genre:subitems(1,0)} devolve «B.C». Supoñendo que #genre "
-"contén o valor «A.B.C, D.E.F»: {#genre:subitems(0,1)} devolve «A, D», "
-"{#genre:subitems(0,2)} devolve «A.B, D.E»."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:523
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
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"
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:551
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:612
msgid "uppercase(val) -- return value of the field in upper case"
msgstr "uppercase(val) -- devolve o valor do campo en maiúsculas"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
msgid "lowercase(val) -- return value of the field in lower case"
msgstr "lowercase(val) -- devolve o valor do campo en minúsculas"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
"titlecase(val) -- devolve o valor do campo coas iniciais en maiúscula"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
"capitalize(val) -- devolve o valor do campo coa primeira letra maiúscula"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -18415,11 +18500,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -18437,11 +18522,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -18460,11 +18545,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -18492,11 +18595,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -18507,11 +18610,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -18532,11 +18635,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -18556,11 +18659,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -18577,11 +18680,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -18595,11 +18698,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -18612,11 +18715,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -18687,11 +18790,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -18718,26 +18821,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -18756,11 +18859,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -18772,11 +18875,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -18784,11 +18887,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -18798,11 +18901,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -18816,11 +18919,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -18828,11 +18931,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -18841,33 +18944,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -18877,11 +18980,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -18892,11 +18995,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -20186,6 +20289,9 @@ msgstr ""
#~ msgid "Has Cover"
#~ msgstr "Ten cuberta"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Elixir os formatos que non se eliminarán"
+
#~ msgid "cover"
#~ msgstr "cuberta"
@@ -21221,6 +21327,9 @@ msgstr ""
#~ msgid "Open Editor"
#~ msgstr "Abrir editor"
+#~ msgid "Argument count must be -1 or greater than zero"
+#~ msgstr "O número de argumentos debe ser -1 ou maior que 0"
+
#~ msgid ""
#~ "Choose you e-book device. If your device is not in the list, choose a \"%s\" "
#~ "device."
@@ -21475,3 +21584,56 @@ msgstr ""
#~ "nome local completo do mes (p. ex. de «xaneiro» a «decembro»). «yy»: o ano "
#~ "como un número de dúas cifras (de 00 a 99). «yyyy»: o ano como un número de "
#~ "catro cifras."
+
+#~ 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 ""
+#~ "sublist(val, índice_inicio, índice_fin, separador) -- interpreta o valor "
+#~ "como unha lista de elementos separados por «separador» e devolve unha nova "
+#~ "lista cos elementos comprendidos entre a posición «índice_inicio» e "
+#~ "«índice_fin». O primeiro elemento ocupa a posición cero. Se un índice é "
+#~ "negativo, cóntase desde o final da lista. Como caso especial, se "
+#~ "«índice_fin» é cero, considérase como final da lista. Exemplos no modo "
+#~ "básico de modelo e supoñendo que a columna de etiquetas (definida como "
+#~ "valores separados por comas) contén «A, B, C»: {tags:sublist{0,1,\\,)} "
+#~ "devolve «A», {tags:sublist(-1,0,\\,)} devolve «C», {tags:sublist(0,-1,\\,)} "
+#~ "devolve «A, B»."
+
+#~ 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 ""
+#~ "subitems(val, índice_inicio, índice_fin) -- Esta función úsase para separar "
+#~ "listas de elementos tales como os xéneros. Interpreta o valor como unha "
+#~ "lista de elementos separados por comas, onde cada elemento é á súa vez unha "
+#~ "lista de elementos separados por puntos. Devolve unha nova lista formada "
+#~ "tomando, de cada lista de elementos separados por puntos, os elementos "
+#~ "situados entre as posicións «índice_inicio» e «índice_fin» e combinando os "
+#~ "resultados. O primeiro elemento de cada lista separada por puntos ocupa a "
+#~ "posición cero. Se un índice é negativo, cóntase desde o final da lista. Como "
+#~ "caso especial, se «índice_fin» é cero, considérase como final da lista. "
+#~ "Exemplos no modo básico de modelo e supoñendo que a columna #genre contén o "
+#~ "valor «A.B.C»: {#genre:subitems(0,1)} devolve «A», {#genre:subitems(0,2)} "
+#~ "devolve «A.B», {#genre:subitems(1,0)} devolve «B.C». Supoñendo que #genre "
+#~ "contén o valor «A.B.C, D.E.F»: {#genre:subitems(0,1)} devolve «A, D», "
+#~ "{#genre:subitems(0,2)} devolve «A.B, D.E»."
diff --git a/src/calibre/translations/he.po b/src/calibre/translations/he.po
index 8b1f48f3ea..8fed1d2458 100644
--- a/src/calibre/translations/he.po
+++ b/src/calibre/translations/he.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-01-28 13:47+0000\n"
"Last-Translator: Eran Cohen \n"
"Language-Team: Hebrew \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:44+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:40+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "לא עושה דבר"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "לא עושה דבר"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -769,13 +769,13 @@ msgstr "רשימת פעולת לצורך תיקון שגיאות קוד"
msgid "Communicate with Android phones."
msgstr "מתקשר עם טלפון Android."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr "רשימת ספריות מופרדות בפסיקל שליחת ספרשת למכשיר."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "תקשר עם סלולרי S60"
@@ -844,14 +844,14 @@ msgstr "מעדכן רישום נתוני מטא של החומרה"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d מתוך %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "הסתיים"
@@ -874,7 +874,7 @@ msgstr ""
"לא היה אפשר להמיר חלק מתמונות השער.\n"
"לחץ על 'הצג פרטים' לקבלת רשימה."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -883,22 +883,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "חדשות"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "קטלוג"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "תקשר עם אייטונס"
@@ -1256,11 +1256,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2695,33 +2695,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2730,35 +2730,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2766,34 +2766,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2947,7 +2947,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3125,7 +3125,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4300,59 +4300,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4476,8 +4478,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4506,7 +4508,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4577,11 +4579,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5194,7 +5196,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5306,7 +5308,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7576,19 +7578,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7630,8 +7632,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7663,7 +7665,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7806,14 +7808,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8866,7 +8868,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9040,110 +9042,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9563,7 +9521,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9572,7 +9530,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9600,7 +9558,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9701,7 +9659,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9710,7 +9668,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9756,45 +9714,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10338,7 +10296,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10460,15 +10418,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10476,27 +10434,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10504,35 +10462,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10738,6 +10696,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11217,186 +11388,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11405,26 +11527,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11434,38 +11556,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11528,11 +11626,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12228,7 +12326,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12296,31 +12394,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13108,7 +13208,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15086,19 +15186,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15636,49 +15736,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15688,37 +15788,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15728,7 +15828,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15738,24 +15838,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15764,11 +15864,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15776,7 +15876,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15785,20 +15885,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15812,7 +15923,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15820,7 +15931,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15829,19 +15940,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15849,95 +15960,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16459,11 +16568,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16481,11 +16590,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16504,11 +16613,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16536,11 +16663,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16551,11 +16678,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16576,11 +16703,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16600,11 +16727,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16621,11 +16748,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16639,11 +16766,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16656,11 +16783,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16731,11 +16858,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16762,26 +16889,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16800,11 +16927,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16816,11 +16943,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16828,11 +16955,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16842,11 +16969,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16860,11 +16987,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16872,11 +16999,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16885,33 +17012,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16921,11 +17048,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16936,11 +17063,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/hi.po b/src/calibre/translations/hi.po
index f7cfa3c42a..29cb090ee3 100644
--- a/src/calibre/translations/hi.po
+++ b/src/calibre/translations/hi.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-03-19 05:11+0000\n"
"Last-Translator: Varun Kansal \n"
"Language-Team: Hindi \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:44+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:40+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "कुछ भी नहीं करता"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "कुछ भी नहीं करता"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -744,13 +744,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +817,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -842,7 +842,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +851,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1220,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2644,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2679,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2715,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2896,7 +2896,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3074,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4249,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4427,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4457,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4528,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5145,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5257,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7527,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7581,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7614,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7755,14 +7757,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8817,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8991,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9470,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9479,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9507,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9650,7 +9608,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9617,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9663,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10245,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10367,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10383,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10411,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10645,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11337,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11476,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11505,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11575,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12275,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12343,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13157,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15135,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15685,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15737,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15777,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15787,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15813,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15825,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15834,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15872,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15880,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15889,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15909,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16512,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16534,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16557,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16607,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16622,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16647,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16671,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16692,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16710,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16727,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16802,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16833,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16871,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16887,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16899,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16913,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16931,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16943,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16956,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16992,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17007,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/hr.po b/src/calibre/translations/hr.po
index 1971687e95..f4f968819a 100644
--- a/src/calibre/translations/hr.po
+++ b/src/calibre/translations/hr.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-30 12:01+0000\n"
"Last-Translator: wattomon \n"
"Language-Team: Croatian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-31 04:47+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:46+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Uopće ne funkcionira"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Uopće ne funkcionira"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Uopće ne funkcionira"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -772,13 +772,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr "Kominiciraj sa Android telefonima."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -845,14 +845,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d od %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "završeno"
@@ -870,7 +870,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -879,22 +879,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Vijesti"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalog"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1248,11 +1248,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2844,33 +2844,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Ne"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Da"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2879,35 +2879,35 @@ msgstr "Da"
msgid "Title"
msgstr "Naslov"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autor(i)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Izdavač"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Proizvođač"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Komentari"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2915,34 +2915,34 @@ msgstr "Komentari"
msgid "Tags"
msgstr "Tagovi"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Serije"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Jezik"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Vremenska oznaka"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Objavljeno"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Prava"
@@ -3117,7 +3117,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3297,7 +3297,7 @@ msgid "HTML TOC generation options."
msgstr "Opcije generiranja HTML TOC."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4552,59 +4552,61 @@ msgid "Choose formats to be deleted"
msgstr "Odaberi formate za obrisati"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Uklanjanje knjiga sa uređaja."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4728,8 +4730,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4758,7 +4760,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4829,11 +4831,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5454,7 +5456,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Kolekcije"
@@ -5566,7 +5568,7 @@ msgstr "izlaz"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7863,19 +7865,19 @@ msgid "&Profile:"
msgstr "&Profil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Uredi komentare"
@@ -7917,8 +7919,8 @@ msgid "Location"
msgstr "Lokacija"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7950,7 +7952,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Podudarnosti nisu pronađene"
@@ -8093,14 +8095,14 @@ msgid "Copied"
msgstr "Kopirano"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Kopiraj u međuspremnik"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9160,7 +9162,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9340,110 +9342,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Provjeri e-mail postavke"
@@ -9876,7 +9834,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9885,7 +9843,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9913,7 +9871,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -10014,7 +9972,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -10023,7 +9981,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -10071,45 +10029,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Veličina (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Duplo klikni za urediti mene
"
@@ -10658,7 +10616,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10780,15 +10738,15 @@ msgstr "&Komentar"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10796,27 +10754,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10824,35 +10782,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Skidanje omota..."
@@ -11063,6 +11021,219 @@ msgstr "Koristi interni &preglednik za:"
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11544,187 +11715,138 @@ msgstr ""
msgid "new email address"
msgstr "nova epoštanska adresa"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Malo"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Velik"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Srednji"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Odaberi &jezik (zahtijeva ponovno pokretanje):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
"Osposobi ikonu sustavnog &poslužavnika (zahtijeva ponovo podizanje sustava)."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11733,26 +11855,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11762,40 +11884,16 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
"Prikaži pretraživača omota u posebnom prozoru (zahtijeva ponovno podizanje)."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr ""
"&Broj omota za prikaz u pretražnom modu (zahtijeva ponovno pokretanje):"
-#: /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"
@@ -11858,11 +11956,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12584,7 +12682,7 @@ msgstr ""
"na vašem iPhone. Ovdje myhostname bi trebalo biti puno kvalificirano "
"hostname ili IP adresa računala na kojem je calibre aktivan."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12652,31 +12750,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13464,7 +13564,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15563,20 +15663,20 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
"
Preseljavanje stare baze podataka na ebook biblioteku u %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Kopiranje %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Sažimanje baze podataka"
@@ -16137,49 +16237,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -16189,37 +16289,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16229,7 +16329,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16239,24 +16339,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -16265,11 +16365,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16277,7 +16377,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16286,20 +16386,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16313,7 +16424,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16321,7 +16432,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16330,19 +16441,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16350,95 +16461,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16975,11 +17084,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16997,11 +17106,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -17020,11 +17129,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -17052,11 +17179,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -17067,11 +17194,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -17092,11 +17219,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -17116,11 +17243,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -17137,11 +17264,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -17155,11 +17282,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -17172,11 +17299,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17247,11 +17374,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -17278,26 +17405,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -17316,11 +17443,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17332,11 +17459,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17344,11 +17471,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17358,11 +17485,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17376,11 +17503,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17388,11 +17515,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17401,33 +17528,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17437,11 +17564,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17452,11 +17579,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/hu.po b/src/calibre/translations/hu.po
index c0239e23c0..d5978787da 100644
--- a/src/calibre/translations/hu.po
+++ b/src/calibre/translations/hu.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-18 16:30+0000\n"
"Last-Translator: Balazs Nemeth \n"
"Language-Team: Hungarian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:45+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:40+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Semmit nem csinál"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Semmit nem csinál"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Semmit nem csinál"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -789,7 +789,7 @@ msgstr "Hibakeresési napló"
msgid "Communicate with Android phones."
msgstr "Kapcsolódás Android telefonhoz."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -797,7 +797,7 @@ msgstr ""
"Vesszővel tagolt mappa-lista az e-könyveknek az olvasóra való küldéséhez. Az "
"első létező mappába kerülnek a könyvek."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Kapcsolódás S60 telefonokhoz"
@@ -877,14 +877,14 @@ msgstr "Eszköz metaadat listájának frissítése"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d / %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "Kész"
@@ -907,7 +907,7 @@ msgstr ""
"Néhány borítót nem lehetett konvertálni.\n"
"Kattinson a 'Részletek megjelenítése' szövegre a listához."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -916,22 +916,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Hírek (RSS)"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalógus"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Kommunikáció az iTunes-al."
@@ -1306,11 +1306,11 @@ msgstr "Kommunikáció az Aluratek Color-ral"
msgid "Communicate with the Trekstor"
msgstr "Kommunikáció Trekstorral"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Kommunikáció az EEE olvasóval"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Kommunikáció a Nextbook olvasóval"
@@ -3008,33 +3008,33 @@ msgstr ""
"Kicsomagolja az általános e-book formátumokat az arhív (zip/rar) fájlokból. "
"Egyúttal megpróbálja automatikusan meghatározni, hogy azok cbz/cbr fájlok-e."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "SABLON HIBA"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Nem"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Igen"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3043,35 +3043,35 @@ msgstr "Igen"
msgid "Title"
msgstr "Cím"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Szerző(k)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Kiadó"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Producer"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Megjegyzés"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3079,34 +3079,34 @@ msgstr "Megjegyzés"
msgid "Tags"
msgstr "Címkék"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Sorozatok"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Nyelv"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Dátum"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Kiadás ideje"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Jogok"
@@ -3279,7 +3279,7 @@ msgstr ""
msgid "Metadata source"
msgstr "Metaadatok forrása"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3460,7 +3460,7 @@ msgid "HTML TOC generation options."
msgstr "HTML Tartalomjegyzék generálás beállításai."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4748,47 +4748,49 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "A könyvek nem törölhetőek"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Nincs csatlakoztatott eszköz"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Belső memória"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Memóriakártya A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Memóriakártya B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Nincs törlésre kiválasztott könyv"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "A kiválasztott könyvek nem találhatóak az eszközön"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Könyvek törlése az eszközről."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -4796,7 +4798,7 @@ msgstr ""
"A kiválasztott könyvek egyike egy csatlakoztatott eszközön található. "
"Honnan szeretné a kijelölt fájlokat törölni?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4804,7 +4806,7 @@ msgstr ""
"A kiválasztott könyvek véglegesen törlődni fognak és a fájlok "
"eltávolításra kerülnek a calibre könyvtárából. Folytatja?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4934,8 +4936,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4964,7 +4966,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -5056,11 +5058,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5692,7 +5694,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Gyűjtemények"
@@ -5804,7 +5806,7 @@ msgstr "kimenet"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8115,19 +8117,19 @@ msgid "&Profile:"
msgstr "&Profil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "Mégsem"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -8169,8 +8171,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8202,7 +8204,7 @@ msgstr "Rendezési forma"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Nincs találat"
@@ -8350,14 +8352,14 @@ msgid "Copied"
msgstr "Másolva"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Másolás a vágólapra"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9424,7 +9426,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9606,110 +9608,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr "Funkció neve:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr "Dokumentáció:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Sablon szerkesztése"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Email beállítások tesztelése"
@@ -10149,7 +10107,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Borító Böngésző"
@@ -10158,7 +10116,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Címke Böngésző"
@@ -10186,7 +10144,7 @@ msgstr "Új verzió"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "könyv részletei"
@@ -10288,7 +10246,7 @@ msgid "Show books in the main memory of the device"
msgstr "Mutasd az eszköz belső memóriájban tárolt könyveket"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -10297,7 +10255,7 @@ msgid "Show books in storage card A"
msgstr "Az 'A' memóriakártyán lévő könyvek megjelenítése"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -10345,45 +10303,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "Az eszközön"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Méret (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "A keresési név \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Duplakattintás a szerkesztéshez
"
@@ -10932,7 +10890,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11056,15 +11014,15 @@ msgstr "Megjegyzések"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11072,27 +11030,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11100,35 +11058,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Borító letöltése..."
@@ -11340,6 +11298,219 @@ msgstr "A beépített nézőke használata a következőkhöz:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Minden letiltott megerősítést kérő dialógusablak engedélyezése"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11832,186 +12003,137 @@ msgstr ""
msgid "new email address"
msgstr "új email cím"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Keskeny"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Széles"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Kicsi"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Nagy"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Közepes"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Mindig"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Soha"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "Első betű szerint"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Letiltva"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "Felhasználói felület elrendezése (újraindítás szükséges)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Nyelv kiválasztása (újraindítás szükséges):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "Ikon megjelenítése a tálcán (újraindítás szükséges)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr "Minden animáció letiltása. Hasznos funkció lassú/régi gépek esetén."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Animációk tiltása"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Értesítések letiltása az értesítési területen"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Üdvözlő képernyő indításkor"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "&Eszköztár"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "Ikonméret:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Feliratok az ikonok alatt:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "Betűtípus:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "Betűtípus cseréje (újraindítás szükséges)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Római számok használata a könyvsorozatoknál"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr "Cimkeböngésző kategóriák és felosztási eljárás:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12020,26 +12142,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr "Összezárás, ha az elemek száma több, mint:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Értékelések átlagának megjelenítése a cimkeböngészőben"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12049,41 +12171,17 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
"A borító alapján történő keresés külön ablakba (újraindítás szükséges)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr ""
"Megjelenített borítók száma böngészéskor (borító böngészés üzemmódban, "
"újraindítást igényel)"
-#: /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"
@@ -12146,11 +12244,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12881,7 +12979,7 @@ msgstr ""
"Stanza olvasóprogramjában. A 'myhostname' helyére a calibre-t futtató "
"számítógép teljes neve, vagy IP címe kerüljön."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12949,31 +13047,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr "Sablon funkciók"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr "a funkció forráskódja nem elérhető"
@@ -13766,7 +13866,7 @@ msgstr ""
"Sok könyv metaadatának megváltoztatása hosszú ideig is eltarthat. Folytatja?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Keresés"
@@ -15845,19 +15945,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr "
Régi adatbázis áthozatala a jelenlegibe: %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Másolás: %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Adatbázis tömörítése"
@@ -16412,49 +16512,49 @@ msgstr ""
msgid "No documentation provided"
msgstr "Nincs közzétett dokumentáció"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -16464,37 +16564,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16504,7 +16604,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16514,24 +16614,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -16540,11 +16640,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16552,7 +16652,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16561,20 +16661,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16588,7 +16699,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16596,7 +16707,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16605,19 +16716,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16625,95 +16736,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -17249,11 +17358,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr "Szerző rendezési forma algoritmus"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -17271,11 +17380,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -17294,11 +17403,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -17326,11 +17453,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -17341,11 +17468,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -17366,11 +17493,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -17390,11 +17517,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -17411,11 +17538,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -17429,11 +17556,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -17446,11 +17573,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17521,11 +17648,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -17552,26 +17679,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -17590,11 +17717,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17606,11 +17733,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17618,11 +17745,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17632,11 +17759,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17650,11 +17777,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17662,11 +17789,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17675,33 +17802,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17711,11 +17838,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17726,11 +17853,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/id.po b/src/calibre/translations/id.po
index 5e57c985cd..7bb728620c 100644
--- a/src/calibre/translations/id.po
+++ b/src/calibre/translations/id.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-04-06 16:58+0000\n"
"Last-Translator: Aryo Sanjaya \n"
"Language-Team: Indonesian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:45+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:40+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -752,13 +752,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -825,14 +825,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -850,7 +850,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -859,22 +859,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1228,11 +1228,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2652,33 +2652,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2687,35 +2687,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2723,34 +2723,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2904,7 +2904,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3082,7 +3082,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4257,59 +4257,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4433,8 +4435,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4463,7 +4465,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4534,11 +4536,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5151,7 +5153,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5263,7 +5265,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7533,19 +7535,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7587,8 +7589,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7620,7 +7622,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7763,14 +7765,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8823,7 +8825,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8997,110 +8999,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9520,7 +9478,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9529,7 +9487,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9557,7 +9515,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9658,7 +9616,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9667,7 +9625,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9713,45 +9671,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10295,7 +10253,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10417,15 +10375,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10433,27 +10391,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10461,35 +10419,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10695,6 +10653,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11174,186 +11345,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11362,26 +11484,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11391,38 +11513,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11485,11 +11583,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12185,7 +12283,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12253,31 +12351,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13065,7 +13165,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15043,19 +15143,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15593,49 +15693,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15645,37 +15745,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15685,7 +15785,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15695,24 +15795,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15721,11 +15821,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15733,7 +15833,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15742,20 +15842,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15769,7 +15880,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15777,7 +15888,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15786,19 +15897,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15806,95 +15917,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16411,11 +16520,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16433,11 +16542,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16456,11 +16565,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16488,11 +16615,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16503,11 +16630,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16528,11 +16655,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16552,11 +16679,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16573,11 +16700,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16591,11 +16718,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16608,11 +16735,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16683,11 +16810,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16714,26 +16841,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16752,11 +16879,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16768,11 +16895,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16780,11 +16907,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16794,11 +16921,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16812,11 +16939,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16824,11 +16951,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16837,33 +16964,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16873,11 +17000,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16888,11 +17015,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po
index 1694b18481..dec12c3063 100644
--- a/src/calibre/translations/it.po
+++ b/src/calibre/translations/it.po
@@ -8,14 +8,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre_calibre-it\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
-"PO-Revision-Date: 2011-05-04 18:06+0000\n"
-"Last-Translator: simone.sandri \n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
+"PO-Revision-Date: 2011-06-06 16:57+0000\n"
+"Last-Translator: Paolo Furlani \n"
"Language-Team: italiano\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:45+0000\n"
+"X-Launchpad-Export-Date: 2011-06-07 04:33+0000\n"
"X-Generator: Launchpad (build 12959)\n"
"X-Poedit-Bookmarks: -1,-1,-1,-1,-1,1105,-1,1312,-1,-1\n"
"Generated-By: pygettext.py 1.5\n"
@@ -51,10 +51,10 @@ msgstr "Non fa assolutamente niente"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -79,7 +79,7 @@ msgstr "Non fa assolutamente niente"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -149,32 +149,32 @@ msgstr "Non fa assolutamente niente"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -239,7 +239,7 @@ msgstr "Negozio"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:613
msgid "An ebook store."
-msgstr ""
+msgstr "Un negozio di ebook"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:18
msgid ""
@@ -512,7 +512,7 @@ msgstr "Scarica i metadati"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062
msgid "Control how calibre downloads ebook metadata from the net"
-msgstr ""
+msgstr "Controlla come calibre scarica i meta dati degli ebook dalla rete"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1067
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:273
@@ -802,7 +802,7 @@ msgstr "Log di debug"
msgid "Communicate with Android phones."
msgstr "Comunica con i telefoni Android."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -810,7 +810,7 @@ msgstr ""
"Lista delle cartelle separate da virgole dei libri da inviare al "
"dispositivo. Verrà usata la prima cartella esistente."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Comunica con i telefoni S60."
@@ -825,14 +825,23 @@ msgid ""
"iTunes menu item.
Enabling the Apple driver for direct connection "
"to iDevices is an unsupported advanced user mode.
"
msgstr ""
+"
Se non vuoi che calibre riconosca il tuo iDevice Apple quando viene "
+"connesso al computer, clicca Disabilita Driver Apple.
Per "
+"trasferire libri sul tuo iDevice, clicca Disabilita Driver Apple , "
+"poi usa il metodo 'Connetti ad iTunes' raccomandato nella FAQ "
+"Calibre + iDevices, utilizzando la voce di menù "
+"Connessione/Condivisione|Connetti ad "
+"iTunes.
Abilitare il driver Apple per una connessione diretta "
+"agli iDevice è una modalità per utente avanzato non supportata.
"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:65
msgid "Disable Apple driver"
-msgstr ""
+msgstr "Disabilita il driver Apple"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:69
msgid "Enable Apple driver"
-msgstr ""
+msgstr "Abilita il driver Apple"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:117
msgid "Use Series as Category in iTunes/iBooks"
@@ -849,6 +858,7 @@ msgstr "Conserva le copertine da iTunes/iBooks"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:122
msgid "Enable to cache and display covers from iTunes/iBooks"
msgstr ""
+"Abilita la memorizzazione e visualizzazione di copertine da iTunes/iBooks"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:178
msgid "Apple device"
@@ -880,14 +890,14 @@ msgstr "Aggiornamento dei metadati sul dispositivo..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d di %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "completato"
@@ -910,7 +920,7 @@ msgstr ""
"Alcune copertine non possono essere convertite.\n"
"Fare clic su 'Mostra dettagli' per una lista."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -919,22 +929,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Notizie"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Catalogo"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Comunica con iTunes."
@@ -1058,11 +1068,11 @@ msgstr "Kovid Goyal"
#: /home/kovid/work/calibre/src/calibre/devices/boeye/driver.py:14
msgid "Communicate with BOEYE BEX Serial eBook readers."
-msgstr ""
+msgstr "Comunica con gli eBook reader BOEYE BEX Serial."
#: /home/kovid/work/calibre/src/calibre/devices/boeye/driver.py:35
msgid "Communicate with BOEYE BDX serial eBook readers."
-msgstr ""
+msgstr "Comunica con gli eBook reader BOEYE BDX Serial"
#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:22
msgid "Communicate with the Cybook Gen 3 / Opus eBook reader."
@@ -1312,11 +1322,11 @@ msgstr "Comunica con Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "Comunica con Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Comunica con l'EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Comunica con il Nextbook Reader"
@@ -1350,7 +1360,7 @@ msgstr "Comunica con il lettore Nook Color"
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:111
msgid "Nook Simple"
-msgstr ""
+msgstr "Nook Simple"
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:112
msgid "Communicate with the Nook TSR eBook reader."
@@ -1449,7 +1459,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:92
msgid "Search for books in all folders"
-msgstr ""
+msgstr "Ricerca libri in tutte le cartelle"
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:94
msgid ""
@@ -1457,6 +1467,10 @@ msgid ""
"device and its cards. This permits calibre to find books put on the device "
"by other software and by wireless download."
msgstr ""
+"Selezionando questa opzione calibre cercherà libri in tutte le cartelle sul "
+"dispositivo e sulle relative cards.\r\n"
+"Ciò consente a calibre di trovare i libri registrati sul dispositivo da "
+"altro software o scaricati da reti senza fili."
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:190
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:69
@@ -3062,33 +3076,33 @@ msgstr ""
"Estrae i formati comuni di e-book da un archivio (zip/rar). Cerca anche di "
"identificare se essi sono file cbz o cbr"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "ERRORE TEMPLATE"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "No"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Sì"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3097,35 +3111,35 @@ msgstr "Sì"
msgid "Title"
msgstr "Titolo"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autori"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Editore"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Produttore"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Commenti"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3133,34 +3147,34 @@ msgstr "Commenti"
msgid "Tags"
msgstr "Tag"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Serie"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Lingua"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Timestamp"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Pubblicato"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Privilegi"
@@ -3340,7 +3354,7 @@ msgstr ""
msgid "Metadata source"
msgstr "Sorgente metadati"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3524,7 +3538,7 @@ msgid "HTML TOC generation options."
msgstr "Opzioni per creazione della TOC (indice contenuti) da HTML"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4879,47 +4893,49 @@ msgid "Choose formats to be deleted"
msgstr "Seleziona i formati da cancellare"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Seleziona i formati da non cancellare"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Impossibile eliminare i libri"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Nessun dispositivo collegato"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Memoria principale"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Scheda di memoria A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Scheda di memoria B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Nessun libro da eliminare"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Nessuno dei libri selezionati è sul device"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Cancellazione dei libri dal dispositivo."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -4927,7 +4943,7 @@ msgstr ""
"Alcuni dei libri selezionati sono sul dispositivo connesso.Da dove si "
"desidera che i file selezionati siano cancellati?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4935,7 +4951,7 @@ msgstr ""
"I libri selezionati verranno cancellati definitivamente e i file "
"rimossi dalla biblioteca calibre. Continuare?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -5062,8 +5078,8 @@ msgstr "Scaricamento metadati fallito"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -5092,7 +5108,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -5167,11 +5183,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5811,7 +5827,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Raccolte"
@@ -5923,7 +5939,7 @@ msgstr "output"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8271,19 +8287,19 @@ msgid "&Profile:"
msgstr "&Profilo:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "&Ok"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "&Annulla"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Modifica Commenti"
@@ -8327,8 +8343,8 @@ msgid "Location"
msgstr "Posizione"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8360,7 +8376,7 @@ msgstr "Ordinamento per autore"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Nessuna corrispondenza trovata"
@@ -8503,14 +8519,14 @@ msgid "Copied"
msgstr "Copiato"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Copia negli appunti"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9613,7 +9629,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr "Nome già utilizzato"
@@ -9796,110 +9812,66 @@ msgstr "Rinomina l'elemento in ogni libro dove è presente."
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Modifica modello"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Prova la configurazione della posta elettronica"
@@ -10333,7 +10305,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Browser delle copertine"
@@ -10342,7 +10314,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Browser dei tag"
@@ -10370,7 +10342,7 @@ msgstr "Aggiornamento trovato"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Dettagli del libro"
@@ -10471,7 +10443,7 @@ msgid "Show books in the main memory of the device"
msgstr "Mostra libri nella memoria principale del dispositivo"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Scheda A"
@@ -10480,7 +10452,7 @@ msgid "Show books in storage card A"
msgstr "Mostra libri nella memory card A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Scheda B"
@@ -10528,45 +10500,45 @@ msgstr "Copia il testo della ricerca corrente (invece di cercare il nome)"
msgid "Y"
msgstr "S"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "Sul dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Dimensione (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "La parola chiave è \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "Lo UUID di questi libri è \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "Nella biblioteca"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Dimensione"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Marcato per l'eliminazione"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Doppio clic per modificarmi
"
@@ -11137,7 +11109,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11259,15 +11231,15 @@ msgstr "&Commenti"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11275,27 +11247,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11303,35 +11275,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Scaricamento della copertina..."
@@ -11553,6 +11525,219 @@ msgstr "Utilizzare il &visualizzatore interno per:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Ripristina tutti i dialoghi di &conferma disattivati"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Selezionare una colonna da eliminare"
@@ -12057,186 +12242,137 @@ msgstr ""
msgid "new email address"
msgstr "nuovo indirizzo di posta elettronica."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Stretto"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Largo"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Piccola"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Grande"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Media"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Sempre"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Mai"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Disabilitato"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr "Partizionato"
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "&Aspetto interfaccia grafica (richiede riavvio):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Ling&ua (richiede riavvio):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "Visualizza l'&icona nell'area di notifica (richiede riavvio)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr "Disattiva tutte le animazioni. Utile per i computer più lenti."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Disattiva le &animazioni"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Disattiva ¬ifiche nell'area di notifica"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Visualizza lo &splash screen all'avvio"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "&Barra degli Strumenti"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "Dimensione &icone:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Mostra &testo sotto le icone:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Usa numeri &romani per le serie"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12245,26 +12381,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Visualizza la &media delle valutazioni nel browser dei tag"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12274,39 +12410,15 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr "Visualizza le &copertine in una finestra separata (richiede riavvio)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr ""
"&Numero di copertine da visualizzare in modalità sfoglia (richiede riavvio):"
-#: /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"
@@ -12373,11 +12485,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -13122,7 +13234,7 @@ msgstr ""
"come un nuovo catalogo sull'iPhone. In questo caso myhostname è l'host o "
"l'indirizzo IP del computer su cui calibre è attivo."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -13190,31 +13302,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -14011,7 +14125,7 @@ msgstr ""
"Sei sicuro?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Ricerche"
@@ -16237,20 +16351,20 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sLa valutazione media è %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Principale"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
"
Migrazione del vecchio database nella biblioteca in %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Sto copiando %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Compattazione database"
@@ -16832,49 +16946,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -16884,37 +16998,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16924,7 +17038,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16934,24 +17048,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -16960,11 +17074,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16972,7 +17086,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16981,20 +17095,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -17008,7 +17133,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -17016,7 +17141,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -17025,19 +17150,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -17045,95 +17170,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -17681,11 +17804,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -17703,11 +17826,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -17726,11 +17849,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -17758,11 +17899,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -17773,11 +17914,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -17798,11 +17939,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -17822,11 +17963,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -17843,11 +17984,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -17861,11 +18002,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -17878,11 +18019,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17953,11 +18094,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -17984,26 +18125,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -18022,11 +18163,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -18038,11 +18179,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -18050,11 +18191,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -18064,11 +18205,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -18082,11 +18223,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -18094,11 +18235,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -18107,33 +18248,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -18143,11 +18284,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -18158,11 +18299,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -20251,6 +20392,9 @@ msgstr ""
#~ msgid "Double click to change a keyborad shortcut"
#~ msgstr "Doppio click per cambiare una scorciatoia da tastiera"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Seleziona i formati da non cancellare"
+
#~ msgid "English (TH)"
#~ msgstr "Inglese (TH)"
diff --git a/src/calibre/translations/ja.po b/src/calibre/translations/ja.po
index d55846e82e..b19b25ca17 100644
--- a/src/calibre/translations/ja.po
+++ b/src/calibre/translations/ja.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
-"PO-Revision-Date: 2011-06-02 03:41+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
+"PO-Revision-Date: 2011-06-06 06:49+0000\n"
"Last-Translator: Ado Nishimura \n"
"Language-Team: Japanese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-06-03 04:37+0000\n"
+"X-Launchpad-Export-Date: 2011-06-07 04:34+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "まったく何もしません。(何も影響しません。)"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "まったく何もしません。(何も影響しません。)"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -758,13 +758,13 @@ msgstr "デバッグ・ログ"
msgid "Communicate with Android phones."
msgstr "Androidフォンと通信します。"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr "電子書籍を送るためのデバイス上のディレクトリ名。カンマ区切りのリストで、最初に見つかったものが利用される"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "電話機 S60 と通信します。"
@@ -841,14 +841,14 @@ msgstr "デバイスの書誌情報リストを更新..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d / %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "完了"
@@ -871,7 +871,7 @@ msgstr ""
"いくつかの表紙が変換できませんでした。\n"
"'詳細を表示' をクリックするとリストを表示します。"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -880,22 +880,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "ニュース"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "カタログ"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "iTunesと通信"
@@ -1257,11 +1257,11 @@ msgstr "Aluratek Colorと通信します。"
msgid "Communicate with the Trekstor"
msgstr "Trekstorと通信します。"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "EEE Readerと通信します。"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Nextbook Readerと通信します。"
@@ -2822,33 +2822,33 @@ msgid ""
msgstr ""
"アーカイブ・ファイル(ZIP/RAR)からよくあるe-bookのフォーマットを抜き出す。そして、それらが実際はCBZ/CBRであるかを自動的に判別する。"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr "値:不明なフィールド "
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "テンプレート・エラー"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "No"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Yes"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2857,35 +2857,35 @@ msgstr "Yes"
msgid "Title"
msgstr "書籍名"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "発行者"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "プロデューサ"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "コメント"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2893,34 +2893,34 @@ msgstr "コメント"
msgid "Tags"
msgstr "タグ"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "シリーズ"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "言語"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "日付印"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "発行日"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "権利"
@@ -3086,7 +3086,7 @@ msgstr "Amazonがタイムアウトしました。後でまた試してみてく
msgid "Metadata source"
msgstr "書誌情報のソース"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr "Douban.comから書誌情報と表紙をダウンロード"
@@ -3271,7 +3271,7 @@ msgid "HTML TOC generation options."
msgstr "HTML 目次生成オプション"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4528,59 +4528,61 @@ msgid "Choose formats to be deleted"
msgstr "削除したいフォーマットを選択"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "残したいフォーマットを選択"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr "残したいフォーマットを選択。
注:これは書籍からすべてのフォーマットを削除するわけではありません。"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "本を削除できません"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "デバイスが接続されていません。"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "主メモリー"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "メモリカードA"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "メモリカードB"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "削除する本がありません"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "選択した書籍はデバイスには入っていません"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "デバイスから書籍を削除"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr "選択したいくつかの書籍が接続したデバイスにもあります。どこの書籍を削除しますか?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr "選択された書籍は永久に削除され、calibreのライブラリからも削除されます。実行しますか?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4704,8 +4706,8 @@ msgstr "書籍情報のダウンロードに失敗しました。"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr "ダウンロード失敗"
@@ -4734,7 +4736,7 @@ msgid "Download complete"
msgstr "ダウンロード完了"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr "ダウンロード・ログ"
@@ -4819,11 +4821,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr "書籍情報の変更を適用"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr "失敗しました"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5448,7 +5450,7 @@ msgid "Book %s of %s"
msgstr "%s (シリーズ:%s)"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "コレクション"
@@ -5560,7 +5562,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -6181,10 +6183,8 @@ msgstr ""
"フォント変換アルゴリズムを使って、どのフォントサイズになるのかを表示します。下の出力ベースフォントサイズとフォント・キーを調整することで、アルゴリズムを"
"調\n"
"整することができます。適当な値が決まったらOKをクリックしてください。
"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr "正規表現"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr "タグ指定のボックスに正規表現を含む場合には、これをチェックして下さい"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr "見つかったタグを色づけ"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-"最低でも2つのうちの1つのカラー・ボックスに値がある必要があります。もしこのウイザードの次の行でテンプレートを使いたい時には1つのボックスを空にしてくださ"
-"い。もし両方のボックスが使われていれば、このウイザードの残りの行は無視されます。"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr "タグが見つからないときに色を付ける"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-"このボックスは通常、最後のテストとして使用されます。もし最後の前に指定された場合、タグの見つかったときの色指定ボックスは空欄にしてください、さもないと残り"
-"の全てのテストは無視されます。"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr "無効な色"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-msgid "The color {0} is not valid"
-msgstr "色{0}は無効です"
-
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:56
msgid "Test email settings"
msgstr "emailの設定をテスト"
@@ -9929,6 +9875,12 @@ msgid ""
"group names for the various metadata entries are documented in "
"tooltips.
"
@@ -10434,7 +10386,7 @@ msgstr "データーベースの場所 %r が無効です。calibreは終了し
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:217
msgid "Corrupted database"
-msgstr ""
+msgstr "データーベースが壊れています"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:218
msgid ""
@@ -10442,45 +10394,47 @@ msgid ""
"and repair it automatically? If you say No, a new empty calibre library will "
"be created."
msgstr ""
+"calibreのデーターベースが壊れているようです。calibreに自動的に修復をさせてみますか?もし、そうでないなら新しいcalibreライブラリが作成"
+"されます。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:224
msgid ""
"Repairing database. This can take a very long time for a large collection"
-msgstr ""
+msgstr "データーベースを修復中。大きなコレクションの場合、非常に長い時間がかかるかもしれません。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:237
msgid ""
"Bad database location %r. Will start with a new, empty calibre library"
-msgstr ""
+msgstr "データーベースの場所 %r が良くありません。新しい空のcalibreライブラリで開始します。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:247
msgid "Starting %s: Loading books..."
-msgstr ""
+msgstr "%s を開始: 書籍をロード中..."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:327
msgid "If you are sure it is not running"
-msgstr ""
+msgstr "動作していない事が明らかな時には"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:330
msgid "may be running in the system tray, in the"
-msgstr ""
+msgstr "はシステムトレイで動作しているかもしれません。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:332
msgid "upper right region of the screen."
-msgstr ""
+msgstr "スクリーンの右上のエリアを探してみてください。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:334
msgid "lower right region of the screen."
-msgstr ""
+msgstr "スクリーンの右下のエリアを探してみてください。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:337
msgid "try rebooting your computer."
-msgstr ""
+msgstr "コンピューターをリブートしてみてください。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:339
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:353
msgid "try deleting the file"
-msgstr ""
+msgstr "次のファイルを削除してみてください:"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:342
msgid "Cannot Start "
@@ -10494,7 +10448,7 @@ msgstr "%sは既に走行中。"
msgid ""
"Redirect console output to a dialog window (both stdout and stderr). Useful "
"on windows where GUI apps do not have a output streams."
-msgstr ""
+msgstr "コンソール出力(stdoutとstderr)をダイアログ・ウインドウに出力。出力のないWindowsのGUIアプリケーションで便利です。"
#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:113
msgid "&Preferences"
@@ -10506,51 +10460,51 @@ msgstr "終了(&Q)"
#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:138
msgid "Unhandled exception"
-msgstr ""
+msgstr "ハンドルされない例外"
#: /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 ""
+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 ""
+msgstr "を開けません %s。他のプログラムに使われていますか?"
#: /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 ""
+msgstr "タイトルでソートした場合、この書籍をどのように扱うかを設定します。例えば、Exorcist をExorcistとする等。"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:134
msgid "Title &sort:"
-msgstr ""
+msgstr "タイトル・ソート(&S):"
#: /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 ""
+msgstr " 緑色は現在のタイトルのソートが、現在のタイトルにマッチしているかを表示します。"
#: /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 ""
+msgstr " 赤い色は現在のタイトル・ソートが現在のタイトルにマッチしていない事を表しています。それが意図した場合には、このままでかまいません。"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:192
msgid "Authors changed"
-msgstr ""
+msgstr "作者が変更されました"
#: /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 ""
+msgstr "この書籍の作者を変更しました。作者をマネージする前に変更を保存しなければなりません。これらの変更を保存しますか?"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:274
msgid ""
@@ -10559,26 +10513,29 @@ msgid ""
"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 ""
+"どのようにこの書籍の作者がソートされるべきかを指定します。例えば、Charles DickensはDickens, "
+"Charlesでソートされるべきです。もしボックスが緑なら、テキストは個々の作者のソート設定にマッチしています。もし色が赤なら、作者とこのテキストはマッチ"
+"していません。"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:279
msgid "Author s&ort:"
-msgstr ""
+msgstr "作者ソート(&O):"
#: /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 ""
+msgstr " 緑色は現在の作者ソートが現在の作者にマッチしている事を表しています。"
#: /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 ""
+msgstr " 赤い色は現在の作者ソートが現在の作者にマッチしていない事を表しています。それが意図した場合には、このままでかまいません。"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:433
msgid "&Number:"
-msgstr ""
+msgstr "数字(&N):"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:514
msgid ""
@@ -10586,22 +10543,25 @@ msgid ""
"\n"
"Double click to view"
msgstr ""
+"最終更新: %s\n"
+"\n"
+"ダブルクリックして表示"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:531
msgid "Set the cover for the book from the selected format"
-msgstr ""
+msgstr "選択されたフォーマットから書籍の表紙を設定"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:539
msgid "Set metadata for the book from the selected format"
-msgstr ""
+msgstr "選択されたフォーマットから書籍の書誌情報を設定"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:546
msgid "Add a format to this book"
-msgstr ""
+msgstr "この書籍に別フォーマットを追加"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:553
msgid "Remove the selected format from this book"
-msgstr ""
+msgstr "この書籍から選択されたフォーマットを削除"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:619
msgid "Choose formats for "
@@ -10609,11 +10569,11 @@ msgstr "フォーマットを選ぶ "
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:651
msgid "No permission"
-msgstr ""
+msgstr "許可がありません"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:652
msgid "You do not have permission to read the following files:"
-msgstr ""
+msgstr "以下のファイルを読むための許可がありません。"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:682
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:683
@@ -10622,11 +10582,11 @@ msgstr "フォーマットが選択されていない"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694
msgid "Could not read metadata"
-msgstr ""
+msgstr "書誌情報を読めません"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:695
msgid "Could not read metadata from %s format"
-msgstr ""
+msgstr "%s フォーマットから書誌情報を読めません"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:714
msgid "&Browse"
@@ -10634,15 +10594,15 @@ msgstr "閲覧(&B)"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:716
msgid "T&rim"
-msgstr ""
+msgstr "トリム(&R)"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:718
msgid "&Remove"
-msgstr ""
+msgstr "削除(&R)"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:724
msgid "Download co&ver"
-msgstr ""
+msgstr "表紙をダウンロード(&V)"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:725
msgid "&Generate cover"
@@ -10785,7 +10745,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10907,15 +10867,15 @@ msgstr "コメント(&C)"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10923,27 +10883,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10951,35 +10911,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -11185,6 +11145,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11664,186 +11837,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "狭い"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "広い"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "小さい"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "大きい"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "中"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "常に"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "停止"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "言語を選択(&L) (再起動が必要です):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "システムトレイアイコンを有効にする(&T) (再起動が必要)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "ツールバー(&T)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "アイコンサイズ(&I):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr "メイン画面"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11852,26 +11976,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "タグブラウザで平均格付けを表示(&a)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11881,38 +12005,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr "表紙ブラウズを別ウインドウで行う(&B) (再起動が必要)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11975,11 +12075,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12679,7 +12779,7 @@ msgstr ""
"http://myhostname:8080 を登録してください。myhostname "
"はcalibreが稼働しているコンピュータのホスト名、もしくはIPアドレスです。"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12747,31 +12847,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr "テンプレート関数"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13561,7 +13663,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "検索"
@@ -15546,19 +15648,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "データベースのコンパクト化"
@@ -16096,49 +16198,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -16148,37 +16250,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16188,7 +16290,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16198,24 +16300,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -16224,11 +16326,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16236,7 +16338,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16245,20 +16347,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16272,7 +16385,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16280,7 +16393,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16289,19 +16402,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16309,95 +16422,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16914,11 +17025,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16936,11 +17047,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16959,11 +17070,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16991,11 +17120,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -17006,11 +17135,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -17031,11 +17160,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -17055,11 +17184,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -17076,11 +17205,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -17094,11 +17223,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -17111,11 +17240,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17186,11 +17315,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -17217,26 +17346,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -17255,11 +17384,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17271,11 +17400,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17283,11 +17412,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17297,11 +17426,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17315,11 +17444,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17327,11 +17456,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17340,33 +17469,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17376,11 +17505,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17391,11 +17520,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -17974,6 +18103,9 @@ msgstr ""
#~ msgid "No books selected to generate catalog for"
#~ msgstr "カタログを生成する本が選択されていません"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "残したいフォーマットを選択"
+
#~ msgid "covers"
#~ msgstr "表紙"
@@ -18239,8 +18371,79 @@ msgstr ""
#~ "使い方についてはXPathチュートリアルを参照してください。"
+#~ msgid "Open Tag Wizard"
+#~ msgstr "タグ・ウイザードを開く"
+
+#~ msgid "Invalid text"
+#~ msgstr "無効なテキスト"
+
#~ msgid "Tags (more than one per box permitted)"
#~ msgstr "タグ(1つのボックスに、1つ以上を入力可能)"
#~ msgid "Color"
#~ msgstr "色"
+
+#~ msgid "The text in the box was not generated by this wizard"
+#~ msgstr "ボックス内のテキストはこのウイザードで作られたものではありません"
+
+#~ msgid "Invalid color"
+#~ msgstr "無効な色"
+
+#~ msgid "The color {0} is not valid"
+#~ msgstr "色{0}は無効です"
+
+#~ msgid "Tag Wizard"
+#~ msgstr "タグ・ウイザード"
+
+#~ msgid "Check this box if the tag box contains regular expressions"
+#~ msgstr "タグ指定のボックスに正規表現を含む場合には、これをチェックして下さい"
+
+#~ msgid "is RE"
+#~ msgstr "正規表現"
+
+#~ msgid ""
+#~ "
.* matches any tag. No empty tags are checked, so "
+#~ "you don't need to worry about empty strings
A.* "
+#~ "matches any tag beginning with A
.*mystery.* "
+#~ "matches any tag containing the word \"mystery\"
"
+
+#~ msgid ""
+#~ "You can enter more than one tag per box, separated by commas. The comparison "
+#~ "ignores letter case. A tag value can be a regular expression. Check the "
+#~ "box to turn them on. When using regular expressions, note that the wizard "
+#~ "puts anchors (^ and $) around the expression, so you must ensure your "
+#~ "expression matches from the beginning to the end of the tag. Regular "
+#~ "expression examples:"
+#~ msgstr ""
+#~ "ボックスに1つ以上のタグを、コンマ区切りで入れることができます。 "
+#~ "比較は大小文字を無視して行われます。 タグの値は正規表現が使用できます。オンにするにはチェックを入れてください。正規表現を使用するときにはウイザード"
+#~ "は表現の周りにアンカー(^ と $)を入れます。なので、表現はタグの最初から最後までにマッチすることになります。 正規表現の例は:"
+
+#~ msgid "Color if tag found"
+#~ msgstr "見つかったタグを色づけ"
+
+#~ msgid "Tags (see the popup help for more information)"
+#~ msgstr "タグ(詳しくはポップアップ・ヘルプを参照)"
+
+#~ msgid "Color if tag not found"
+#~ msgstr "タグが見つからないときに色を付ける"
+
+#~ msgid ""
+#~ "At least one of the two color boxes must have a value. Leave one color box "
+#~ "empty if you want the template to use the next line in this wizard. If both "
+#~ "boxes are filled in, the rest of the lines in this wizard will be ignored."
+#~ msgstr ""
+#~ "最低でも2つのうちの1つのカラー・ボックスに値がある必要があります。もしこのウイザードの次の行でテンプレートを使いたい時には1つのボックスを空にしてくださ"
+#~ "い。もし両方のボックスが使われていれば、このウイザードの残りの行は無視されます。"
+
+#~ msgid ""
+#~ "This box is usually filled in only on the last test. If it is filled in "
+#~ "before the last test, then the color for tag found box must be empty or all "
+#~ "the rest of the tests will be ignored."
+#~ msgstr ""
+#~ "このボックスは通常、最後のテストとして使用されます。もし最後の前に指定された場合、タグの見つかったときの色指定ボックスは空欄にしてください、さもないと残り"
+#~ "の全てのテストは無視されます。"
diff --git a/src/calibre/translations/ko.po b/src/calibre/translations/ko.po
index 733b123ed7..4528fda76d 100644
--- a/src/calibre/translations/ko.po
+++ b/src/calibre/translations/ko.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-01-30 09:51+0000\n"
"Last-Translator: ddfddf2k \n"
"Language-Team: Korean \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:46+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:41+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "아무 것도 안함"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "아무 것도 안함"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -754,13 +754,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr "안드로이드폰과 통신합니다."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr "장치에 전자책을 전송할 디렉토리의 목록입니다. 쉼표(,)로 구분합니다. 먼저 기존의 디렉토리를 사용됩니다."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "S60 휴대폰과 통신합니다."
@@ -829,14 +829,14 @@ msgstr "장치의 메타 정보 목록을 갱신합니다..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d / %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "완료됨"
@@ -859,7 +859,7 @@ msgstr ""
"일부 표지를 변환할 수 없었습니다.\n"
"목록을 보려면 '상세히 보기'를 누르세요."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -868,22 +868,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "뉴스"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "분류"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "iTunes와 통신합니다."
@@ -1240,11 +1240,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2738,33 +2738,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr "압축파일(zip/rar)에서 전자책 파일을 추출합니다. 또한 cbz/cbr파일이 실제로 맞는지 자동으로 감지합니다."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "템플릿 오류"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "아니오"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "예"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2773,35 +2773,35 @@ msgstr "예"
msgid "Title"
msgstr "제목"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "출판사"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "제작자"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "설명"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2809,34 +2809,34 @@ msgstr "설명"
msgid "Tags"
msgstr "태그"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "시리즈"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "언어"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "시간 정보"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "출판일자"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "권리"
@@ -2997,7 +2997,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3175,7 +3175,7 @@ msgid "HTML TOC generation options."
msgstr "HTML 목차(TOC) 생성 옵션입니다."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4401,59 +4401,61 @@ msgid "Choose formats to be deleted"
msgstr "삭제할 형식을 선택하세요"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "삭제하지 않을 형식을 선택하세요"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "책 삭제 불가"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "연결된 장치가 없음"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "주 메모리"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "저장 카드 A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "저장 카드 B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "삭제할 책이 없습니다"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "장치상에 선택된 책이 없습니다"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "장치에서 책을 삭제합니다."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4577,8 +4579,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4607,7 +4609,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4678,11 +4680,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5295,7 +5297,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "모음집"
@@ -5407,7 +5409,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7685,19 +7687,19 @@ msgid "&Profile:"
msgstr "프로파일(&P):"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "확인(&O)"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "취소(&C)"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "설명 수정하기"
@@ -7739,8 +7741,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7772,7 +7774,7 @@ msgstr "저자 분류"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "일치하는 것이 없습니다"
@@ -7915,14 +7917,14 @@ msgid "Copied"
msgstr "사본"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "클립보드로 복사"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8978,7 +8980,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr "이름이 이미 사용중입니다"
@@ -9152,110 +9154,66 @@ msgstr "사용되는 모든 책에서 항목의 이름을 바꿉니다."
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr "함수명(&N):"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr "문서(&D):"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr "파이썬 코드(&C):"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "전자우편 설정을 시험합니다"
@@ -9675,7 +9633,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "표지 탐색기"
@@ -9684,7 +9642,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "태그 탐색기"
@@ -9712,7 +9670,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "책 상세정보"
@@ -9813,7 +9771,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "카드 A"
@@ -9822,7 +9780,7 @@ msgid "Show books in storage card A"
msgstr "저장 카드 A에 있는 책 표시"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "카드 B"
@@ -9868,45 +9826,45 @@ msgstr "현재의 검색어를 복사합니다 (검색 이름 대신에)"
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "용량 (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "검색 이름은 \"{0}\"입니다"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "용량"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "편집하려면 더블클릭하세요
"
@@ -10452,7 +10410,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10574,15 +10532,15 @@ msgstr "설명(&C)"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10590,27 +10548,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10618,35 +10576,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "표지를 내려받습니다..."
@@ -10854,6 +10812,219 @@ msgstr "내부 뷰어를 사용해서 보기(&V):"
msgid "Reset all disabled &confirmation dialogs"
msgstr "보이지 않게 한 확인 대화상자들을 모두 초기화(&C)"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "삭제할 열을 선택해야 합니다"
@@ -11341,186 +11512,137 @@ msgstr "선택하면, 내려받은 뉴스를 이 전자우편 주소로 자동
msgid "new email address"
msgstr "새 전자우편 주소"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "좁게"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "넓게"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "작음"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "큼"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "중간"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "항상"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "전혀 안함"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "사용자 인터페이스 배치 (재시작이 필요함) (&L) :"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "언어 선택 (재시작이 필요합니다) (&L):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "시스템 트레이 아이콘 사용하기 (재시작이 필요함) (&T)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "애니메이션 사용 안함(&A)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "시스템 트레이에서 알리기 사용 안함(&N)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "프로그램 시작시 로고 화면 표시(&S)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "툴바(&T)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "아이콘 크기(&I):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "아이콘 아래에 텍스트 표시(&T):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "인터페이스 글꼴:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "글꼴 변경 (재시작 필요)(&F)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "시리즈에 대해 로마식 숫자를 사용(&R)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11529,26 +11651,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "태그 탐색기에 평균 등급을 표시합니다(&A)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11558,38 +11680,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr "표지 탐색기를 분리된 창으로 표시합니다 (재시작이 필요함) (&B)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr "탐색기 모드에서 보여줄 표지의 개수 (재시작이 필요함) (&N):"
-#: /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"
@@ -11652,11 +11750,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12359,7 +12457,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12427,31 +12525,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13241,7 +13341,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "검색"
@@ -15256,19 +15356,19 @@ msgstr "라벨은 소문자, 숫자, 밑줄만 포함할 수 있으며 영문자
msgid "%sAverage rating is %3.1f"
msgstr "%s평균 별점은 %3.1f 입니다"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "주"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "%s 복사하는중"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15814,49 +15914,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15866,37 +15966,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15906,7 +16006,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15916,24 +16016,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15942,11 +16042,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15954,7 +16054,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15963,20 +16063,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15990,7 +16101,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15998,7 +16109,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16007,19 +16118,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16027,95 +16138,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16632,11 +16741,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16654,11 +16763,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16677,11 +16786,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16709,11 +16836,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16724,11 +16851,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16749,11 +16876,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16773,11 +16900,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16794,11 +16921,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16812,11 +16939,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16829,11 +16956,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16904,11 +17031,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16935,26 +17062,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16973,11 +17100,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16989,11 +17116,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17001,11 +17128,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17015,11 +17142,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17033,11 +17160,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17045,11 +17172,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17058,33 +17185,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17094,11 +17221,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17109,11 +17236,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -17826,6 +17953,9 @@ msgstr ""
#~ "전자우편\n"
#~ "배달하기"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "삭제하지 않을 형식을 선택하세요"
+
#~ msgid "&Check database integrity"
#~ msgstr "데이터베이스 무결성 검사하기(&C)"
diff --git a/src/calibre/translations/lt.po b/src/calibre/translations/lt.po
index 90e5103009..9aec0647f9 100644
--- a/src/calibre/translations/lt.po
+++ b/src/calibre/translations/lt.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-04-26 09:56+0000\n"
"Last-Translator: Mantas Kriaučiūnas \n"
"Language-Team: Lithuanian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:47+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:42+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Nieko nedaro"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Nieko nedaro"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Nieko nedaro"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -752,13 +752,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -825,14 +825,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "baigta"
@@ -850,7 +850,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -859,22 +859,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Naujienos"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalogas"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1228,11 +1228,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2652,33 +2652,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2687,35 +2687,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2723,34 +2723,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2904,7 +2904,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3082,7 +3082,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4257,59 +4257,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4433,8 +4435,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4463,7 +4465,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4534,11 +4536,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5151,7 +5153,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5263,7 +5265,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7533,19 +7535,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7587,8 +7589,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7620,7 +7622,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7763,14 +7765,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8823,7 +8825,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8997,110 +8999,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9520,7 +9478,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9529,7 +9487,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9557,7 +9515,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9658,7 +9616,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9667,7 +9625,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9713,45 +9671,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10295,7 +10253,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10417,15 +10375,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10433,27 +10391,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10461,35 +10419,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10695,6 +10653,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11174,186 +11345,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11362,26 +11484,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11391,38 +11513,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11485,11 +11583,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12185,7 +12283,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12253,31 +12351,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13065,7 +13165,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15043,19 +15143,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15593,49 +15693,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15645,37 +15745,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15685,7 +15785,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15695,24 +15795,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15721,11 +15821,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15733,7 +15833,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15742,20 +15842,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15769,7 +15880,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15777,7 +15888,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15786,19 +15897,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15806,95 +15917,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16411,11 +16520,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16433,11 +16542,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16456,11 +16565,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16488,11 +16615,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16503,11 +16630,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16528,11 +16655,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16552,11 +16679,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16573,11 +16700,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16591,11 +16718,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16608,11 +16735,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16683,11 +16810,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16714,26 +16841,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16752,11 +16879,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16768,11 +16895,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16780,11 +16907,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16794,11 +16921,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16812,11 +16939,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16824,11 +16951,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16837,33 +16964,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16873,11 +17000,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16888,11 +17015,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/ltg.po b/src/calibre/translations/ltg.po
index 4b397b66b8..90be57343a 100644
--- a/src/calibre/translations/ltg.po
+++ b/src/calibre/translations/ltg.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-06 12:35+0000\n"
"Last-Translator: uGGa \n"
"Language-Team: Latgalian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:57+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:52+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Pilneigi nikū nadora"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Pilneigi nikū nadora"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Pilneigi nikū nadora"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -744,13 +744,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +817,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -842,7 +842,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +851,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1220,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2644,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2679,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2715,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2896,7 +2896,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3074,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4249,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4427,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4457,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4528,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5145,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5257,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7527,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7581,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7614,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7755,14 +7757,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8817,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8991,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9470,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9479,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9507,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9650,7 +9608,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9617,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9663,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10245,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10367,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10383,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10411,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10645,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11337,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11476,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11505,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11575,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12275,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12343,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13157,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15135,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15685,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15737,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15777,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15787,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15813,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15825,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15834,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15872,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15880,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15889,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15909,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16512,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16534,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16557,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16607,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16622,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16647,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16671,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16692,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16710,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16727,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16802,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16833,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16871,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16887,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16899,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16913,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16931,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16943,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16956,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16992,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17007,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/lv.po b/src/calibre/translations/lv.po
index 6861017dac..142f2e15e6 100644
--- a/src/calibre/translations/lv.po
+++ b/src/calibre/translations/lv.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-17 11:56+0000\n"
"Last-Translator: uGGa \n"
"Language-Team: Latvian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:46+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:42+0000\n"
"X-Generator: Launchpad (build 12959)\n"
"X-Poedit-Country: LATVIA\n"
"X-Poedit-Language: Latvian\n"
@@ -50,10 +50,10 @@ msgstr "Pilnīgi neko nedara"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -78,7 +78,7 @@ msgstr "Pilnīgi neko nedara"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -148,32 +148,32 @@ msgstr "Pilnīgi neko nedara"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -748,13 +748,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr "Komunicē ar Android telefoniem."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -821,14 +821,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d no %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "pabeigts"
@@ -846,7 +846,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -855,22 +855,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Ziņas"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalogs"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1224,11 +1224,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2648,33 +2648,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2683,35 +2683,35 @@ msgstr ""
msgid "Title"
msgstr "Nosaukums"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autors(i)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Izdevējs"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Komentāri"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2719,34 +2719,34 @@ msgstr "Komentāri"
msgid "Tags"
msgstr "Birkas"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Sērija"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Valoda"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Publicēts"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2900,7 +2900,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3078,7 +3078,7 @@ msgid "HTML TOC generation options."
msgstr "Iestatījumi HTML satura rādītāja ģenerēšanai."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4261,59 +4261,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Neviena ierīce nav savienota"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4437,8 +4439,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4467,7 +4469,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4538,11 +4540,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5155,7 +5157,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5267,7 +5269,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7540,19 +7542,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7594,8 +7596,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7627,7 +7629,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7770,14 +7772,14 @@ msgid "Copied"
msgstr "Nokopēts"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Kopēt uz starpliktuvi"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8832,7 +8834,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9006,110 +9008,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9529,7 +9487,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9538,7 +9496,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9566,7 +9524,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9667,7 +9625,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9676,7 +9634,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9722,45 +9680,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Izmērs (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10304,7 +10262,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10426,15 +10384,15 @@ msgstr "&Kometāri"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10442,27 +10400,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10470,35 +10428,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Lejupielādē vāku..."
@@ -10704,6 +10662,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11183,186 +11354,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Maza"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Liela"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Vidēja"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Izvēlieties va&lodu (nepieciešams pārstartēt):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11371,26 +11493,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11400,38 +11522,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11494,11 +11592,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12194,7 +12292,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12262,31 +12360,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13074,7 +13174,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15052,19 +15152,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Kopē %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15602,49 +15702,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15654,37 +15754,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15694,7 +15794,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15704,24 +15804,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15730,11 +15830,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15742,7 +15842,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15751,20 +15851,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15778,7 +15889,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15786,7 +15897,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15795,19 +15906,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15815,95 +15926,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16420,11 +16529,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16442,11 +16551,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16465,11 +16574,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16497,11 +16624,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16512,11 +16639,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16537,11 +16664,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16561,11 +16688,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16582,11 +16709,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16600,11 +16727,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16617,11 +16744,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16692,11 +16819,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16723,26 +16850,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16761,11 +16888,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16777,11 +16904,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16789,11 +16916,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16803,11 +16930,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16821,11 +16948,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16833,11 +16960,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16846,35 +16973,35 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
"Maksimālais augstums un platums calibre bibliotēkā saglabātajiem grāmatu "
"vākiem"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr "Uz kurieni sūtīt lejupielādētās ziņas"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16884,11 +17011,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16899,11 +17026,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/ml.po b/src/calibre/translations/ml.po
index 5782fa9052..24b3b69111 100644
--- a/src/calibre/translations/ml.po
+++ b/src/calibre/translations/ml.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2010-12-16 23:06+0000\n"
"Last-Translator: Kovid Goyal \n"
"Language-Team: Malayalam \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:47+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:42+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "ഒന്നും തന്നെ ചെയ്തില്ല"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "ഒന്നും തന്നെ ചെയ്തില്ല"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -754,13 +754,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr "ആന്ഡ്രോയിഡ് ഫോണുകളുമായി(Android phones) സംവതിക്കുക."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -827,14 +827,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -852,7 +852,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -861,22 +861,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "വാര്ത്തകള്"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1231,11 +1231,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2655,33 +2655,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2690,35 +2690,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2726,34 +2726,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2907,7 +2907,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3085,7 +3085,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4260,59 +4260,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4436,8 +4438,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4466,7 +4468,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4537,11 +4539,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5154,7 +5156,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5266,7 +5268,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7536,19 +7538,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7590,8 +7592,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7623,7 +7625,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7766,14 +7768,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8826,7 +8828,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9000,110 +9002,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9523,7 +9481,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9532,7 +9490,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9560,7 +9518,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9661,7 +9619,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9670,7 +9628,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9716,45 +9674,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10298,7 +10256,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10420,15 +10378,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10436,27 +10394,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10464,35 +10422,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10698,6 +10656,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11177,186 +11348,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11365,26 +11487,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11394,38 +11516,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11488,11 +11586,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12188,7 +12286,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12256,31 +12354,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13068,7 +13168,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15046,19 +15146,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15596,49 +15696,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15648,37 +15748,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15688,7 +15788,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15698,24 +15798,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15724,11 +15824,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15736,7 +15836,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15745,20 +15845,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15772,7 +15883,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15780,7 +15891,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15789,19 +15900,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15809,95 +15920,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16414,11 +16523,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16436,11 +16545,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16459,11 +16568,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16491,11 +16618,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16506,11 +16633,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16531,11 +16658,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16555,11 +16682,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16576,11 +16703,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16594,11 +16721,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16611,11 +16738,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16686,11 +16813,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16717,26 +16844,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16755,11 +16882,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16771,11 +16898,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16783,11 +16910,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16797,11 +16924,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16815,11 +16942,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16827,11 +16954,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16840,33 +16967,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16876,11 +17003,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16891,11 +17018,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/mr.po b/src/calibre/translations/mr.po
index 548fbc2134..54ecf985a5 100644
--- a/src/calibre/translations/mr.po
+++ b/src/calibre/translations/mr.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
-"PO-Revision-Date: 2010-09-03 19:11+0000\n"
-"Last-Translator: Kovid Goyal \n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
+"PO-Revision-Date: 2011-06-07 10:53+0000\n"
+"Last-Translator: Shirish Joshi \n"
"Language-Team: Marathi \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:47+0000\n"
+"X-Launchpad-Export-Date: 2011-06-08 04:35+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "काहीच करत नाही"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "काहीच करत नाही"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -257,6 +257,9 @@ msgid ""
"directory pmlname_img or images. This plugin is run every time you add a PML "
"file to the library."
msgstr ""
+"सर्व निगडीत pml फाईल व चित्र (pmlname_img /images folder) वापरून pmlz फाईल "
+"बनवा. प्रत्येक वेळी, नवीन pml फाईल तुमच्या library (सूची) मध्ये समावेशित "
+"केली की हे plugin चालते."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:91
msgid ""
@@ -264,10 +267,13 @@ msgid ""
"Textile references to images. The referenced images as well as the TXT file "
"are added to the archive."
msgstr ""
+"txt फाईल (ज्यामध्ये Markdown or Textile references to images आहेत ) "
+"समावेशित केली की txtz फाईल बनवा. सर्व निगडीत चित्र व मजकूर (txt फाईल ) या "
+"txtz मध्ये समावेशित असतील."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:168
msgid "Extract cover from comic files"
-msgstr ""
+msgstr "कॉमिक पुस्तकाच्या फाईल चे पहिले पृष्ट वापरा"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:205
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:216
@@ -291,15 +297,15 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:416
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:427
msgid "Read metadata from %s files"
-msgstr ""
+msgstr "%s फाईल मधले संबंधित मजकूर वाचा"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:364
msgid "Read metadata from ebooks in RAR archives"
-msgstr ""
+msgstr "RAR फाईल मधल्या इलेक्ट्रोनिक पुस्तकातला संबंधित मजकूर वाचा"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:438
msgid "Read metadata from ebooks in ZIP archives"
-msgstr ""
+msgstr "ZIP फाईल मधल्या इलेक्ट्रोनिक पुस्तकातला संबंधित मजकूर वाचा"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:451
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:472
@@ -308,17 +314,17 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:515
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:525
msgid "Set metadata in %s files"
-msgstr ""
+msgstr "%s फाईल मध्ये संबंधित मजकूर लिहा"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:461
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:493
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:536
msgid "Set metadata from %s files"
-msgstr ""
+msgstr "%s फाईल मधला मजकूर वापरून संबंधित मजकूर तयार करा"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883
msgid "Look and Feel"
-msgstr ""
+msgstr "दृश्य अनुभूती"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:897
@@ -343,33 +349,33 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:221
msgid "Add your own columns"
-msgstr ""
+msgstr "तुमच्यानुसार मजकूर स्तंभ तयार करा"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:912
msgid "Add/remove your own columns to the calibre book list"
-msgstr ""
+msgstr "calibre च्या पुस्तक सूची मध्ये तुमच्यानुसार मजकूर स्तंभ तयार करा"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:917
msgid "Toolbar"
-msgstr ""
+msgstr "टूलबार"
#: /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 ""
+msgstr "तुम्च्यानुसार टूलबार व उपलभ्द मेन्यू शी निगडीत क्रिया बदला"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929
msgid "Searching"
-msgstr ""
+msgstr "शोधत आहे"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:935
msgid "Customize the way searching for books works in calibre"
-msgstr ""
+msgstr "calibre कोणत्या प्रकारे पुस्तकांमध्ये शोधते ते बदला"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:940
msgid "Input Options"
-msgstr ""
+msgstr "input पर्याय"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:942
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:953
@@ -379,60 +385,61 @@ msgstr "रुपांतर"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946
msgid "Set conversion options specific to each input format"
-msgstr ""
+msgstr "प्रत्येक input नुसार रुपांतर पर्याय बदला"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:951
msgid "Common Options"
-msgstr ""
+msgstr "नेहेमीचे पर्याय"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:957
msgid "Set conversion options common to all formats"
-msgstr ""
+msgstr "सर्व formats साठी एक समान पर्याय वापरा"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962
msgid "Output Options"
-msgstr ""
+msgstr "output पर्याय"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:968
msgid "Set conversion options specific to each output format"
-msgstr ""
+msgstr "प्रत्येक output format साठी रुपांतर पर्याय वेगळे ठेवा"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:973
msgid "Adding books"
-msgstr ""
+msgstr "पुस्तके समाविष्ट करत आहे"
#: /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 ""
+msgstr "आयात / निर्यात"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:979
msgid "Control how calibre reads metadata from files when adding books"
-msgstr ""
+msgstr "पुस्तके समाविष्ट करताना संबंधित मजकूर कसा वाचावा यासाठी पर्याय निवडा"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:985
msgid "Saving books to disk"
-msgstr ""
+msgstr "पुस्तके disk वर लिहा"
#: /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 ""
+"calibre फाईल आपल्या database मधून disk वर कसे लिहील याचे पर्याय निवडा"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:997
msgid "Sending books to devices"
-msgstr ""
+msgstr "पुस्तके या संगणकाला जोडलेल्या devices ना पाठवली जात आहेत"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003
msgid "Control how calibre transfers files to your ebook reader"
-msgstr ""
+msgstr "तुमच्या ebook reader वर पुस्तके कशी पाठवली जातील यासाठी पर्याय निवडा"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009
msgid "Metadata plugboards"
-msgstr ""
+msgstr "संबंधित मजकुरासाठी plugboards"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1015
msgid "Change metadata fields before saving/sending"
@@ -744,13 +751,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +824,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "पूर्ण झालेले"
@@ -842,7 +849,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +858,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "वार्ता"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "पुस्तक सूची"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1227,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2651,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "नाही"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "हो"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2686,35 @@ msgstr "हो"
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "प्रकाशक"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "निर्माता"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2722,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "शृंखला"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "भाषा"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "कालमुद्रा"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "प्रकाशित"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "हक्क"
@@ -2896,7 +2903,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3081,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4256,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "पुस्तके नष्ट करू शकत नाही"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "मुख्य स्मरणिका"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "नष्ट करण्यासाठी पुस्तके नाही"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4434,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4464,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4535,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5152,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5264,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7534,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7588,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7621,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7755,14 +7764,14 @@ msgid "Copied"
msgstr "प्रत तयार केली"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8824,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8998,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9477,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9486,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9514,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "पुस्तकाचा तपशील"
@@ -9650,7 +9615,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9624,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9670,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10252,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10374,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10390,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10418,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10652,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11344,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "अरुंद"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "रुंद"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "लहान"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "मोठे"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "मध्यम"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "नेहमी"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "कधीच नाही"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11483,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11512,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11582,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12282,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12350,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13164,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15142,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15692,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15744,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15784,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15794,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15820,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15832,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15841,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15879,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15887,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15896,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15916,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16519,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16541,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16564,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16614,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16629,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16654,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16678,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16699,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16717,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16734,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16809,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16840,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16878,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16894,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16906,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16920,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16938,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16950,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16963,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16999,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17014,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/ms.po b/src/calibre/translations/ms.po
index 665de19fa9..f27383a5df 100644
--- a/src/calibre/translations/ms.po
+++ b/src/calibre/translations/ms.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2010-04-09 05:12+0000\n"
"Last-Translator: esaismail@gmail.com \n"
"Language-Team: Malay \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:47+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:43+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Langsung tidak melakukan apa-apa"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Langsung tidak melakukan apa-apa"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Langsung tidak melakukan apa-apa"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -756,13 +756,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -829,14 +829,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -854,7 +854,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -863,22 +863,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1232,11 +1232,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2656,33 +2656,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2691,35 +2691,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2727,34 +2727,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2908,7 +2908,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3086,7 +3086,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4261,59 +4261,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4437,8 +4439,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4467,7 +4469,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4538,11 +4540,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5155,7 +5157,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5267,7 +5269,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7537,19 +7539,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7591,8 +7593,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7624,7 +7626,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7767,14 +7769,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8827,7 +8829,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9001,110 +9003,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9524,7 +9482,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9533,7 +9491,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9561,7 +9519,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9662,7 +9620,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9671,7 +9629,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9717,45 +9675,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10299,7 +10257,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10421,15 +10379,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10437,27 +10395,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10465,35 +10423,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10699,6 +10657,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11178,186 +11349,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11366,26 +11488,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11395,38 +11517,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11489,11 +11587,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12189,7 +12287,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12257,31 +12355,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13069,7 +13169,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15047,19 +15147,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15597,49 +15697,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15649,37 +15749,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15689,7 +15789,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15699,24 +15799,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15725,11 +15825,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15737,7 +15837,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15746,20 +15846,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15773,7 +15884,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15781,7 +15892,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15790,19 +15901,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15810,95 +15921,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16415,11 +16524,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16437,11 +16546,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16460,11 +16569,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16492,11 +16619,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16507,11 +16634,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16532,11 +16659,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16556,11 +16683,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16577,11 +16704,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16595,11 +16722,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16612,11 +16739,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16687,11 +16814,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16718,26 +16845,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16756,11 +16883,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16772,11 +16899,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16784,11 +16911,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16798,11 +16925,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16816,11 +16943,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16828,11 +16955,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16841,33 +16968,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16877,11 +17004,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16892,11 +17019,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po
index ff0d1463a2..d23f09f561 100644
--- a/src/calibre/translations/nb.po
+++ b/src/calibre/translations/nb.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-24 11:45+0000\n"
"Last-Translator: Marita Grønlund \n"
"Language-Team: Norwegian Bokmal \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:48+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:43+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Gjør absolutt ingenting"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Gjør absolutt ingenting"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Gjør absolutt ingenting"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -791,7 +791,7 @@ msgstr "Feilsøkingslogg"
msgid "Communicate with Android phones."
msgstr "Kommuniser med Android-telefoner."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -799,7 +799,7 @@ msgstr ""
"Komma-delt liste av foldere som av e-bøker som sendes til enheten. Den "
"første som eksisterer vil bli benyttet"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Kommuniser med S60 telefoner."
@@ -868,14 +868,14 @@ msgstr "Oppdaterer metadatalister for enheten..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d av %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "fullført"
@@ -898,7 +898,7 @@ msgstr ""
"Noen av omslagsbildene kunne ikke konverteres.\n"
"Klikk \"Vis Detaljer\" for liste."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -907,22 +907,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Nyheter"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalog"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Kommuniser med iTunes"
@@ -1293,11 +1293,11 @@ msgstr "Kommuniser med Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "Kommuniser med Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Kommuniser med EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Kommuniser med Nextbook Reader"
@@ -3024,33 +3024,33 @@ msgstr ""
"Pakk ut vanlige e-bokformatfiler fra arkivet (zip/rar). Forsøk også å "
"automatisk detektere dem dersom de skulle være cbz/cbr-filer."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "FEIL I MALEN"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Nei"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Ja"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3059,35 +3059,35 @@ msgstr "Ja"
msgid "Title"
msgstr "Tittel"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Forfatter(e)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Forlag"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Produsent"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Sammendrag:"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3095,34 +3095,34 @@ msgstr "Sammendrag:"
msgid "Tags"
msgstr "Nøkkelord"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Serie"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Språk"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Tidstempel"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Publisert"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Rettigheter"
@@ -3305,7 +3305,7 @@ msgstr "Amazon brukte for lang tid på å svare. Prøv igjen senere."
msgid "Metadata source"
msgstr "KIilde for metadata"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3490,7 +3490,7 @@ msgid "HTML TOC generation options."
msgstr "HTML TOC genereringsvalg."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4815,47 +4815,49 @@ msgid "Choose formats to be deleted"
msgstr "Velg formater som skal fjernes"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Velg formatet ikke til å slettes"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Kan ikke slette bøker"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Ingen enheter er koblet til"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Hovedminne"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Lagring Kort A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Lagring Kort B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Ingen bøker å slette"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Ingen av de valgte bøkene finnes på enheten"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Sletter bøker fra enheten."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -4863,7 +4865,7 @@ msgstr ""
"Noen av de valgte bøkene befinner seg på den tilkoblete enheten. "
"Where ønsker du at de valgte bøkene skal slettes fra denne?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4871,7 +4873,7 @@ msgstr ""
"De valgte bøkene vil bli slettet permanent og filene vil bli fjernet "
"fra ditt calibrebibliotek. Er du sikker?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4996,8 +4998,8 @@ msgstr "Kunne ikke laste ned metadata"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -5026,7 +5028,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -5120,11 +5122,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5765,7 +5767,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Samlinger"
@@ -5877,7 +5879,7 @@ msgstr "utdata"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8227,19 +8229,19 @@ msgid "&Profile:"
msgstr "&Profil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "&OK"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "&Avbryt"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Rediger kommentarer"
@@ -8283,8 +8285,8 @@ msgid "Location"
msgstr "Lokalisering"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8316,7 +8318,7 @@ msgstr "Sortering blant forfattere"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Ingen treff"
@@ -8459,14 +8461,14 @@ msgid "Copied"
msgstr "Kopiert"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Kopier til utklippstavle"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9594,7 +9596,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9780,110 +9782,66 @@ msgstr "Foreta navneendring av innholdet i alle bøker der det benyttes."
msgid "Ctrl+S"
msgstr "Ctr+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Rediger mal"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Test e-postinstillinger"
@@ -10322,7 +10280,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Omslagssøker"
@@ -10331,7 +10289,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Emneordspanel"
@@ -10359,7 +10317,7 @@ msgstr "Oppdateringer funnet"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Bokdetaljer"
@@ -10460,7 +10418,7 @@ msgid "Show books in the main memory of the device"
msgstr "Viser bøker i hovedminne til enheten"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Kort A"
@@ -10469,7 +10427,7 @@ msgid "Show books in storage card A"
msgstr "Viser bøker i lagringskort A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Kort B"
@@ -10517,45 +10475,45 @@ msgstr "Kopier gjeldende søketekst (istedet for søkenavn)"
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "i enheten"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Størrelse (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "Søkenavnet er \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "Denne bokens UUID er \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "I biblioteket"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Størrelse"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Merket for sletting"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Dobbelklikk til rediger me
"
@@ -11129,7 +11087,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11255,15 +11213,15 @@ msgstr "&Sammendrag"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11271,27 +11229,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11299,35 +11257,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Laster ned omslag..."
@@ -11548,6 +11506,219 @@ msgstr "Bruk intern &leser for:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Tilbakestill alle avslåtte &bekreftelsesdialoger"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Du må velge en kolonne for å slette den"
@@ -12054,187 +12225,138 @@ msgstr ""
msgid "new email address"
msgstr "ny e-postadresse"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Reduser"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Bred"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Små"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Store"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Medium"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Alltid"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Aldri"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "Ved første bokstav"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Deaktivert"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr "Partisjonert"
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "Brukergrensesnitt-&visning (krever omstart):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Velg &språk (krever omstart):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "Slå på oppgave&panelikonet"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr ""
"Slå av alle animeringer. Nyttig dersom du har en svak/eldre datamaskin."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Slå av &animeringer"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Deaktivering og varsler i systemstatusfeltet"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Vis &splash bilde når enheten starter"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "&Verktøylinje"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "&Ikonstørrelse:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Vis &tekst under ikoner:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "Tegnsett for grensesnitt"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "Endre &tegnsett (krever omstart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Bruk &romerske tall for serier"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12248,26 +12370,26 @@ msgstr ""
"å få en liste av faste størrelsegrupper. Velg deaktivert\n"
"dersom du aldri ønsker underkategorier"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Vis &gjennomsnittsvurdering i emneordspanelet"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12277,38 +12399,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr "Vis omslag &søk i eget vindu (krever omstart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr "&Antall omslag som skal vises i søkemodus (krever omstart):"
-#: /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"
@@ -12376,11 +12474,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -13145,7 +13243,7 @@ msgstr ""
"din iPhone. Her skal myhostname være fullt kvalifisert vertsnavn eller IP-"
"adressen til datamaskinen Calibre kjører på."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -13213,31 +13311,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -14030,7 +14130,7 @@ msgid ""
msgstr "Endring av metadata for mange bøker kan ta tid. Er du sikker?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Søk"
@@ -16279,19 +16379,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sGjennomsnittlig vurdering er %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Hovedvalg"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr "
Migrerer gammel database til e-bokbiblioteket i %s "
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Kopierer %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Komprimerer databasen"
@@ -16882,49 +16982,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -16934,37 +17034,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16974,7 +17074,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16984,24 +17084,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr "Søk krever enten 2 eller et oddetall av argumenter"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -17010,11 +17110,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr "bytte krever et oddetall av argumenter"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -17022,7 +17122,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -17031,20 +17131,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -17058,7 +17169,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -17066,7 +17177,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -17075,19 +17186,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -17095,95 +17206,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -17727,11 +17836,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -17749,11 +17858,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -17772,11 +17881,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -17804,11 +17931,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -17819,11 +17946,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -17844,11 +17971,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -17868,11 +17995,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -17889,11 +18016,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -17907,11 +18034,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -17924,11 +18051,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17999,11 +18126,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -18030,26 +18157,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -18068,11 +18195,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -18084,11 +18211,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -18096,11 +18223,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -18110,11 +18237,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -18128,11 +18255,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -18140,11 +18267,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr "Antall sekunder før epost sendes"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -18153,33 +18280,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -18189,11 +18316,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -18204,11 +18331,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -20129,6 +20256,9 @@ msgstr ""
#~ msgstr ""
#~ "Serienummer. For å få nummer som starter på null, bruk {series_index:03n}"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Velg formatet ikke til å slettes"
+
#~ msgid "English (PK)"
#~ msgstr "Engelsk (PK)"
diff --git a/src/calibre/translations/nds.po b/src/calibre/translations/nds.po
index a7d026bac9..b09fb42275 100644
--- a/src/calibre/translations/nds.po
+++ b/src/calibre/translations/nds.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: nds\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-01-07 02:48+0000\n"
"Last-Translator: heinz beck \n"
"Language-Team: German\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:48+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:43+0000\n"
"X-Generator: Launchpad (build 12959)\n"
"X-Poedit-Country: GERMANY\n"
"X-Poedit-Language: German\n"
@@ -51,10 +51,10 @@ msgstr "Mach absolut garnichts"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -79,7 +79,7 @@ msgstr "Mach absolut garnichts"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -149,32 +149,32 @@ msgstr "Mach absolut garnichts"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -780,7 +780,7 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr "Kommunikation mit Android Telefonen."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -788,7 +788,7 @@ msgstr ""
"Durch Kommata getrennte Liste von Verzeichnissen an die eBooks auf das Gerät "
"gesendet werden. Das erste vorhandene wird benutzt"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -855,14 +855,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -880,7 +880,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -889,22 +889,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Nachrichten"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1258,11 +1258,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2895,33 +2895,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2930,35 +2930,35 @@ msgstr ""
msgid "Title"
msgstr "Titel"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autor(en)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Herausgeber"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Produzent"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Bemerkung"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2966,34 +2966,34 @@ msgstr "Bemerkung"
msgid "Tags"
msgstr "Etiketten"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Reihe"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Sprache"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Zeitstempel"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Veröffentlicht"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Rechte"
@@ -3173,7 +3173,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3353,7 +3353,7 @@ msgid "HTML TOC generation options."
msgstr "Einstellungen zur Erstellung von HTML Inhaltsverzeichnissen."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4625,59 +4625,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Lösche Bücher vom Gerät."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4801,8 +4803,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4831,7 +4833,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4902,11 +4904,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5530,7 +5532,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5642,7 +5644,7 @@ msgstr "Ausgabe"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7952,19 +7954,19 @@ msgid "&Profile:"
msgstr "&Profil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -8006,8 +8008,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8039,7 +8041,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Keine Treffer gefunden"
@@ -8182,14 +8184,14 @@ msgid "Copied"
msgstr "Kopiert"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "In die Zwischenablage kopieren"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9252,7 +9254,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9434,110 +9436,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "eMail Einstellungen testen"
@@ -9971,7 +9929,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9980,7 +9938,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -10008,7 +9966,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -10109,7 +10067,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -10118,7 +10076,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -10167,45 +10125,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Größe (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Doppelklick ermöglicht Bearbeitung
"
@@ -10755,7 +10713,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10877,15 +10835,15 @@ msgstr "&Bemerkungen"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10893,27 +10851,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10921,35 +10879,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Lade Umschlagbild..."
@@ -11162,6 +11120,219 @@ msgstr "Internen &Viewer verwenden für:"
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11644,187 +11815,138 @@ msgstr ""
msgid "new email address"
msgstr "Neue eMail Adresse"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Klein"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Groß"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Mittel"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Sprache wäh&len (erfordert Neustart):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
"Symbol im Sys&tembereich der Kontrollleiste aktivieren (erfordert Neustart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11833,26 +11955,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11862,40 +11984,16 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr "Zeige Cover-Ansicht in einem eigenen Fenster (erfordert Neustart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr ""
"A&nzahl der anzuzeigenden Umschlagbilder in der Cover-Ansicht (erfordert "
"Neustart):"
-#: /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"
@@ -11958,11 +12056,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12686,7 +12784,7 @@ msgstr ""
"vollständige Servername oder die IP Adresse des Rechners sein, auf dem "
"Calibre läuft."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12754,31 +12852,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13566,7 +13666,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15678,19 +15778,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr "
Migriere alte Datenbank zu eBook Bibliothek in %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Kopiere %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Komprimiere Datenbank"
@@ -16254,49 +16354,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -16306,37 +16406,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16346,7 +16446,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16356,24 +16456,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -16382,11 +16482,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16394,7 +16494,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16403,20 +16503,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16430,7 +16541,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16438,7 +16549,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16447,19 +16558,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16467,95 +16578,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -17096,11 +17205,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -17118,11 +17227,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -17141,11 +17250,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -17173,11 +17300,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -17188,11 +17315,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -17213,11 +17340,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -17237,11 +17364,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -17258,11 +17385,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -17276,11 +17403,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -17293,11 +17420,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17368,11 +17495,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -17399,26 +17526,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -17437,11 +17564,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17453,11 +17580,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17465,11 +17592,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17479,11 +17606,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17497,11 +17624,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17509,11 +17636,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17522,33 +17649,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17558,11 +17685,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17573,11 +17700,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po
index 7b0a202693..0b30072b11 100644
--- a/src/calibre/translations/nl.po
+++ b/src/calibre/translations/nl.po
@@ -36,15 +36,15 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
-"PO-Revision-Date: 2011-06-02 12:07+0000\n"
-"Last-Translator: Redmar \n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
+"PO-Revision-Date: 2011-06-08 23:25+0000\n"
+"Last-Translator: drMerry \n"
"Language-Team: Dutch \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-06-03 04:37+0000\n"
-"X-Generator: Launchpad (build 12959)\n"
+"X-Launchpad-Export-Date: 2011-06-10 04:36+0000\n"
+"X-Generator: Launchpad (build 13168)\n"
"X-Poedit-Country: NETHERLANDS\n"
"X-Poedit-Language: Dutch\n"
@@ -85,10 +85,10 @@ msgstr "Doet helemaal niets"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -113,7 +113,7 @@ msgstr "Doet helemaal niets"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -183,32 +183,32 @@ msgstr "Doet helemaal niets"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -826,7 +826,7 @@ msgstr "Debug log"
msgid "Communicate with Android phones."
msgstr "Communiceer met Android telefoons."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -834,7 +834,7 @@ msgstr ""
"Door komma's gescheiden lijst van mappen op het apparaat om E-boeken naartoe "
"te sturen. De eerst bestaande map zal gebruikt worden"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Communiceert met S60 telefoons."
@@ -914,14 +914,14 @@ msgstr "Bijwerken van lijst met metadata op het apparaat..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d van %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "gereed"
@@ -944,7 +944,7 @@ msgstr ""
"Sommige omslagafbeeldingen konden niet worden omgezet.\n"
"Klik op \"Toon details\" voor een overzicht."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -953,22 +953,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Nieuws"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Catalogus"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Communiceer met iTunes."
@@ -1345,11 +1345,11 @@ msgstr "Communiceer met de Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "Communiceer met de Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Communiceer met de EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Communiceer met de Nextbook Reader"
@@ -1399,7 +1399,7 @@ msgstr "Communiceer met de Sony PRS-500 E-reader."
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:22
msgid "Communicate with all the Sony eBook readers."
-msgstr "Verbinden met alle Sony E-reader."
+msgstr "Verbinden met alle Sony E-readers."
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:62
msgid "All by title"
@@ -3129,33 +3129,33 @@ msgstr ""
"Pak archiefbestanden(zip/rar) met standaard e-bookformaten uit. Probeer ook "
"te detecteren of het cbr/cbz-bestanden zijn."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr "Waarde: onbekend veld "
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "SJABLOONFOUT"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Nee"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Ja"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3164,35 +3164,35 @@ msgstr "Ja"
msgid "Title"
msgstr "Titel"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Schrijver(s)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Uitgever"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Producent"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Opmerkingen"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3200,34 +3200,34 @@ msgstr "Opmerkingen"
msgid "Tags"
msgstr "Labels"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Reeks"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Taal"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Tijdsaanduiding"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Gepubliceerd"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Rechten"
@@ -3413,7 +3413,7 @@ msgstr "Time-out van Amazon. Probeer later nog eens"
msgid "Metadata source"
msgstr "Externe metadatabron"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr "Download metadata en omslagen van Douban.com"
@@ -3612,7 +3612,7 @@ msgid "HTML TOC generation options."
msgstr "Opties voor aanmaken HTML-inhoudsopgave"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4975,47 +4975,49 @@ msgid "Choose formats to be deleted"
msgstr "Kies formaten om te verwijderen"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Kies formaten die niet verwijderd moeten worden"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Kan boeken niet verwijderen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Geen apparaat verbonden"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Hoofdgeheugen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Geheugenkaart A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Geheugenkaart B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Er zijn geen boeken om te verwijderen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Geen van de geselecteerde boeken bevindt zich op het apparaat"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Boeken worden van de lezer verwijderd."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -5023,7 +5025,7 @@ msgstr ""
"Sommige geselecteerde boeken staan op de lezer. Waarvan wilt u de "
"geselecteerde bestanden verwijderen?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -5032,7 +5034,7 @@ msgstr ""
"bestanden zullen uit de calibre-bibliotheek verwijderd worden. Weet u het "
"zeker?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -5160,8 +5162,8 @@ msgstr "Downloaden metadata mislukt"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr "Download mislukt"
@@ -5194,7 +5196,7 @@ msgid "Download complete"
msgstr "Downloaden voltooid"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr "Log downloaden"
@@ -5289,11 +5291,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr "Wijzigingen in metadata toepassen"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr "Enkele fouten"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5946,7 +5948,7 @@ msgid "Book %s of %s"
msgstr "Boek %s van %s"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Collecties"
@@ -6058,7 +6060,7 @@ msgstr "uitvoer"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8514,19 +8516,19 @@ msgid "&Profile:"
msgstr "&Profiel"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "&OK"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "Annuleren"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Bewerk commentaar"
@@ -8570,8 +8572,8 @@ msgid "Location"
msgstr "Locatie"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8609,7 +8611,7 @@ msgstr "Schrijversortering"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Geen overeenkomsten gevonden"
@@ -8758,14 +8760,14 @@ msgid "Copied"
msgstr "Gekopieerd"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Kopieer naar klembord"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr "Bekijk log"
@@ -9944,7 +9946,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr "Naam is al gebruikt"
@@ -10023,7 +10025,7 @@ msgid ""
"The following tags are used by one or more books. Are you certain you want "
"to delete them?"
msgstr ""
-"De volgende lebels zijn in gebruik door een of meerdere boeken. Weet je "
+"De volgende labels zijn in gebruik door een of meerdere boeken. Weet je "
"zeker dat je ze wilt verwijderen?"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:128
@@ -10133,110 +10135,66 @@ msgstr "Hernoem het item in ieder boek waar het mee geassocieerd is."
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr "UITZONDERING: "
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr "Geen kolom gekozen"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr "Je moet een te kleuren kolom specificeren"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr "Geen sjabloom opgegeven"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr "Het sjabloon veld kan niet leeg zijn"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr "Geef de kleer voor de kolom:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr "Sjabloon waarde:"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr "Functie&naam:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr "&Documentatie:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr "Python&code:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:32
msgid "Open Template Editor"
msgstr "Open sjabloonbeheer"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:39
-msgid "Open Tag Wizard"
-msgstr "Open label ondersteuning"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Sjabloon bewerken"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr "Ongeldige tekst"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-msgid "The text in the box was not generated by this wizard"
-msgstr "De tekst in het veld was niet gemaakt door deze ondersteuning"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:64
-msgid "Tag Wizard"
-msgstr "Label ondersteuning"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr "Kleuren als label gevonden is"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr "Kleuren als label niet gevonden is"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr "Ongeldige kleur"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-msgid "The color {0} is not valid"
-msgstr "De kleur {0} is niet geldig"
-
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:56
msgid "Test email settings"
msgstr "Test e-mailinstellingen"
@@ -10677,7 +10635,7 @@ msgid "Regular expression (?P)"
msgstr "Regexp (?)"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Omslagbrowser"
@@ -10686,7 +10644,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Labelbrowser"
@@ -10714,7 +10672,7 @@ msgstr "Bijgewerkte versie gevonden"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Details van het boek"
@@ -10816,7 +10774,7 @@ msgid "Show books in the main memory of the device"
msgstr "Boeken in hoofdgeheugen van het apparaat weergeven"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Geheugenkaart A"
@@ -10825,7 +10783,7 @@ msgid "Show books in storage card A"
msgstr "Geef de boeken weer die op geheugenkaart A staan"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Geheugenkaart B"
@@ -10873,45 +10831,45 @@ msgstr "Kopieer de huidige zoektekst (in plaats van zoeknaam)"
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "Op het apparaat"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Grootte (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr "Gewijzigd"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "De zoekopdracht is \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "De UUID van dit boek is \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "In de bibliotheek"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Grootte"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Gemarkeerd voor wissen"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Dubbelklik om me te wijzigen
"
@@ -11506,7 +11464,7 @@ msgid "Downloaded metadata fields"
msgstr "Metadatavelden die worden gedownload"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11638,15 +11596,15 @@ msgstr "&Commentaar"
msgid "Basic metadata"
msgstr "Basis metadata"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr "Heeft omslag"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr "Heeft samenvatting"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11658,28 +11616,28 @@ msgstr ""
"bij het downloaden terwijl er geen is aangeduid\n"
"of vice versa."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr "Kijk bij"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr "Calibre haalt metadata bij: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr "Wachten a.u.b."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr "Navraag: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
"Downloaden metadata mislukt. Klik op \"Toon details\" voor meer informatie"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11691,37 +11649,37 @@ msgstr ""
"schrijver of één enkel sleutelwoord uit de titel. Om alle meldingen te zien "
"klik je op \"Toon details\"."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr "Huidige omslag"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr "Zoeken..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr "Omslagen voor %s aan het downloaden, even geduld..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
"Geen omslagen gedownload. Klik desgewenst op \"Toon details\" voor meer "
"informatie."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr "Geen omslagen gevonden voor %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr "%d omslagen gevonden voor %s. Maak je keuze."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr "Downloaden metadata..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Omslag downloaden..."
@@ -11971,6 +11929,219 @@ msgstr "Gebruik interne weerga&ve voor:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Herstel alle uitges&chakelde meldingen"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr "is waar"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr "is onwaar"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr "is niet gedefinieerd"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr "heeft ID"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr "heeft geen ID"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr "is gelijk aan"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr "is minder dan"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr "is groter dan"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr "heeft"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr "heeft geen"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr "heeft patroon"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr "heeft geen patroon"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr "ingesteld"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr "is niet ingesteld"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr "is"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr "is niet"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr "komt overeen met patroon"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr "komt niet overeen met patroon"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr "Als de "
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr " kolom "
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr " waarde "
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr "Geef een nummer"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr "Geen een datum in het formaat JJJJ-MM-DD"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr "Geef een tekst."
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr "Geef een reguliere expressie"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr "tot"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr "Ongeldige voorwaarde"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr "Geen voorwaarden"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr "Voeg regel toe"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr "Verwijder regel"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr "verwijdering"
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Om een kolom te verwijderen moet je deze eerst selecteren"
@@ -12498,188 +12669,128 @@ msgstr ""
msgid "new email address"
msgstr "nieuw e-mailadres"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Smal"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Breed"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr "Uit"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Klein"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Groot"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Middel"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Altijd"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr "Als er genoeg ruimte is"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Nooit"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "Op eerste letter"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Uitgeschakeld"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr "Opgedeeld"
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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 ""
-"Als je een veld wilt kleuren op basis van een label, klik dan op de knop "
-"naast een lege regel om de label ondersteuning te openen. Deze zal een "
-"sjabloon voor je maken. Je kan dit later wijzigen met dezelfde ondersteuner. "
-"Als je het handmatig aanpast, werkt de ondersteuner mogelijk niet meer of "
-"kan deze de oude waarden terug zetten."
-
-#: /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
"
-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 ""
-"Je kan een sjabloon-beheer-venster met meerdere lijnen bereiken via het "
-"context menu (rechts klikken)."
-
-#: /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 ""
-"Nb: als je een \"persoonlijke kolom met vaste waarden\" wilt kleuren, "
-"is het meestal makkelijker om een kleur op te geven in het kolom-definitie "
-"venster. Daar kan je een kleur opgeven voor iedere waarde zonder een "
-"sjabloon te gebruiken."
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:298
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "Uiter&lijk gebruikers interface (herstart vereist):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Kies taa&l (herstart vereist):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "Sys&teemvakicoon activeren (herstart vereist)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr ""
"Blokkeer alle animaties. Bruikbaar als je een langzame/oude computer hebt."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "&Animaties uitschakelen"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Uitschakel van systeemvakmeldi&ngen"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Laat het op&startvenster zien"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "Werkbalk"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "&Icoon omvang:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Toon &tekst onder iconen:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "Interface lettertype:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "Verander lettertype (herstart vereist)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr "Hoofdvenster"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr "Selecteer weergegeven metadata"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr "Naar boven"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr "Naar beneden"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Gebruik &Romeinse cijfers voor reeksen"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
msgid ""
"Note that comments will always be displayed at the end, regardless of "
"the position you assign here."
@@ -12687,11 +12798,11 @@ msgstr ""
"Bedenk dat commentaar altijd wordt weergegeven aan het einde, "
"ongeacht de positie die je hier opgeeft."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr "Methode om categorieën van de labelbrowser o&p te delen:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12705,11 +12816,11 @@ msgstr ""
"groepen met vaste grootte te krijgen. Kies \"Uitgezet\" als je geen\n"
"deel-categorieën wil"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr "&Combineer/Inklappen bij meer items dan:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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 "
@@ -12720,15 +12831,15 @@ msgstr ""
"uitgezet\n"
"wordt deze waarde niet gebruikt."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Toon de gemiddelde w&aardering in de labelbrowser"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr "Categorieën met &hiërarchische items:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12744,38 +12855,14 @@ msgstr ""
"'Roman'. Als 'labels' niet in dit vak is aangegeven dan worden\n"
"deze labels elk op hun eigen lijn getoond."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr "Toon omslag&browser in een apart venster (herstart vereist)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr "Aa&ntal zichtbare omslagen in blader modus (herstart vereist):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:338
-msgid "Column to color"
-msgstr "Kolom om te kleuren"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:339
-msgid "Color selection template"
-msgstr "Kleur selectie sjabloon"
-
-#: /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 "Open de label ondersteuning."
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:345
-msgid "Color names"
-msgstr "Kleur namen"
-
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:346
-msgid "Column Coloring"
-msgstr "Kolom kleuring"
-
#: /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"
@@ -12842,11 +12929,11 @@ msgstr "Publicatiedatum"
msgid "Configure %s %s"
msgstr "Configureer %s %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr "Geen bron geselecteerd"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr "Geen bron geselecteerd, configuratie niet mogelijk."
@@ -13673,7 +13760,7 @@ msgstr ""
"in de Stanza reader op je iPhone. Voor mijnhostnaam, dien je de volledig "
"hostnaam of het IP adres van de computer waar calibre op draait te gebruiken."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -13812,31 +13899,33 @@ msgstr ""
"
\n"
" "
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr "Sjabloonfuncties"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr "Een ingebouwde functie kan niet verwijderd worden"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr "Functie niet gedefinieerd"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
-msgstr "Parameter moet -1 of groter dan nul zijn"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr "Exceptie gedurende compilatie van functie"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr "broncode functie niet beschikbaar"
@@ -14668,7 +14757,7 @@ msgstr ""
"zeker?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Zoekopdrachten"
@@ -17056,19 +17145,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sGemiddelde waardering is %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Algemeen"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr "
Migreer oude database naar E-boek bibliotheek op %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "%s kopiëren"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Comprimeren database"
@@ -17671,7 +17760,7 @@ msgstr "Geen dergelijke variabele beschikbaar "
msgid "No documentation provided"
msgstr "Geen documentatie beschikbaar"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
@@ -17680,7 +17769,7 @@ msgstr ""
"van x en y als string. Geeft kd als x < y/ Geeft ge als x ==y. Anders wordt "
"gd teruggegeven."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
@@ -17689,7 +17778,7 @@ msgstr ""
"getallen. Geeft kd als x < y. Geeft ga als x == y. Anders wordt gd "
"teruggegeven."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
@@ -17697,7 +17786,7 @@ msgstr ""
"strcat(a, b, ...) -- kan een willekeurig aantal parameters verwerken. Geeft "
"een string terug bestaande uit de samengevoegde parameters"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
@@ -17705,7 +17794,7 @@ msgstr ""
"add(x, y) -- geeft x + y terug. Geeft een waarschuwing als x of y geen "
"nummer zijn."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
@@ -17713,7 +17802,7 @@ msgstr ""
"subtract(x, y) -- geeft x - y terug. Geeft een waarschuwing als x of y geen "
"nummer zijn."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
@@ -17721,7 +17810,7 @@ msgstr ""
"multiply(x, y) -- geeft x * y terug. Er wordt een foutmelding gegeven als x "
"of y geen nummer is."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
@@ -17729,7 +17818,7 @@ msgstr ""
"divide(x, y) -- geeft x / y terug. Geeft een waarschuwing als x of y geen "
"nummer zijn."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -17745,7 +17834,7 @@ msgstr ""
"automatisch omgezet. Bijvoorbeeld, template('[[title_sort]]') zal een test "
"uitvoeren op het sjabloon {title_sort} en de waarde terug geven."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
@@ -17756,7 +17845,7 @@ msgstr ""
"mogelijk om de sjabloon te gebruiken voor het maken van complexe resultaten "
"vanuit lokale variabelen."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
@@ -17764,7 +17853,7 @@ msgstr ""
"assign(id, waarde) -- geeft id de waarde waarde en geeft waarde terug. id "
"moet een identificator, geen uitdrukking"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
@@ -17774,12 +17863,12 @@ msgstr ""
"Tenzij je calibre start van de commandoregel (calibre-debug -g), zal deze "
"uitvoer verdwijnen in een 'zwart gat'."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
"field(naam) -- geeft de metadata terug van het veld aangegeven met naam"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
@@ -17787,7 +17876,7 @@ msgstr ""
"raw_field(naam) -- geeft de metadata terug uit het veld naam zonder enige "
"opmaak toe te passen."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -17797,7 +17886,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -17814,11 +17903,11 @@ msgstr ""
"samengesteld veld te gebruiken. Dit is uitermate geschikt als je variabele "
"opslag locaties wilt samenstellen"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr "opzoeken met minstens 2 of een oneven aantal parameters"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
@@ -17827,7 +17916,7 @@ msgstr ""
"indien niet leeg` terug als het veld niet leeg is, anders word `tekst indien "
"leeg` teruggegeven."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
@@ -17838,7 +17927,7 @@ msgstr ""
"`patroon`. Geeft `tekst voor overeenkomst` als een overeenkosmt is "
"gevonden, anders wordt `tekst voor geen overeenkomst` teruggegeven"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -17852,11 +17941,11 @@ msgstr ""
"geen enkel patroon overeen komt, dan wordt waarde_anders terug gegeven. Je "
"kan een onbeperkt aantal 'patroon, waarde' paren opgeven"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr "switch heeft een oneven aantal parameters nodig"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -17869,7 +17958,7 @@ msgstr ""
"met een item, geef waarde_gevonden terug, anders geef geen_waarde_gevonden "
"terug."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -17878,7 +17967,18 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
msgid ""
"re(val, pattern, replacement) -- return the field after applying the regular "
"expression. All instances of `pattern` are replaced with `replacement`. As "
@@ -17889,7 +17989,7 @@ msgstr ""
"`vervanging`. Zoals in heel calibre, zijn dit python-compatible reguliere "
"expressies"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
msgid ""
"ifempty(val, text if empty) -- return val if val is not empty, otherwise "
"return `text if empty`"
@@ -17897,7 +17997,7 @@ msgstr ""
"ifempty(waarde, tekst indien leeg) -- geeft waarde terug als het veld niet "
"leeg is, anders 'tekst indien leeg'"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -17911,7 +18011,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -17923,7 +18023,7 @@ msgstr ""
"Meeste lijsten gebruiken een komma als scheiding maar schrijvers gebruiken "
"een ampersand. Voorbeeld: {tags:count{,}}, {authors:count{&}}"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -17938,7 +18038,7 @@ msgstr ""
"lijst zit zal een lege waarde worden terug gegeven. De scheiding heeft de "
"zelfde functie als in de count functie."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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, "
@@ -17949,12 +18049,12 @@ msgstr ""
"het koppel met het id gelijk aan sleutel en geeft de bijbehorende waarde "
"terug."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -17962,86 +18062,68 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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\""
+"each such item extracting the start_index` to the `end_index` 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 ""
-"subitems(waarde, start_index, eind_index) -- Deze functie wordt gebruikt "
-"voor het opsplitsen van lijsten van items zoals genres. Het interpreteert de "
-"waarde als een door komma's gescheiden lijst van items, waarbij elk item een "
-"punt-gescheiden lijst is. Geeft een nieuwe lijst gemaakt door eerst alle "
-"door punten gescheiden items te vinden, dan voor elk van deze onderdelen de "
-"het deel van `start_index`th tot `eind_index`th uit het item te extraheren, "
-"vervolgens worden deze resultaten weer gecombineerd. Het eerste item in een "
-"punt-gescheiden lijst heeft een index van nul. Als een index negatief is, "
-"dan wordt geteld vanaf het einde van de lijst. Als een bijzonder geval, een "
-"end_index van nul wordt verondersteld als de lengte van de lijst. "
-"Bijvoorbeeld met behulp van het basissjabloon modus en uitgaande van een "
-"#genre waarde van \"A.B.C.\": {#genre: subitems(0,1)} geeft als resultaat "
-"\"A\". {#genre:subitems(0,2)} geeft \"A.B\". {#genre:subitems(1,0)} geeft "
-"\"B.C\". Uitgaande van een #genre waarde van \"A.B.C, D.E.F\", "
-"{#genre:subitems(0,1)} geeft \"A, D\". {#genre:subitems(0,2)} geeft \"A.B, "
-"D.E\""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:523
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
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"
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:551
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:612
msgid "uppercase(val) -- return value of the field in upper case"
msgstr "uppercase(val) -- geeft waarde van het veld terug in hoofdletters"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
msgid "lowercase(val) -- return value of the field in lower case"
msgstr "lowercase(val) -- geeft waarde van het veld terug in kleine letters"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
"titlecase(val) -- geeft de waarde van het veld terug in (Engelstalige) title-"
"case"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
"capitalize(val) -- geeft de waarde van het veld terug in hoofdletters"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr "booksize() -- geeft waarde van het grootte veld terug"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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 "
@@ -18051,7 +18133,7 @@ msgstr ""
"niet leeg is. Als alle waardes leeg zijn, zal een lege waarde worden "
"teruggegeven. Je kan een onbeperkt aantal waardes opgeven."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
@@ -18062,7 +18144,7 @@ msgstr ""
"werkt goed met test of first_non_empty. Je kan zo veel waardes opgeven als "
"je wil."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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 "
@@ -18073,7 +18155,7 @@ msgstr ""
"een lege string terug gegeven. Deze functie werkt goed met test of "
"first_non_empty. Je kan zo veel waardes opgeven als je wil."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
@@ -18083,7 +18165,7 @@ msgstr ""
"wordt een lege string terug gegeven. Deze functie werkt goed met test of "
"first_non_empty. Je kan zo veel waardes opgeven als je wil."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -18496,7 +18578,7 @@ msgstr "Hoofdmenu"
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:125
msgid "Previous section"
-msgstr "Volgende paragraaf"
+msgstr "Vorige paragraaf"
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:214
msgid "Section Menu"
@@ -18667,11 +18749,11 @@ msgstr ""
"voor schrijvers?\n"
"Kan True of False zijn"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr "Algoritme voor schrijvers sortering"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -18707,11 +18789,11 @@ msgstr ""
"Achtervoegsels zijn hoofdletter ongevoelig en voorgaande punten worden \n"
"automatisch afgehandeld."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr "Gebruik schrijvers sortering in de labelbrowser"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -18748,11 +18830,29 @@ msgstr ""
"categories_use_field_for_author_name = 'author'\n"
"categories_use_field_for_author_name = 'author_sort'"
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr "Beheer opdelen van de labelbrowser"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -18809,11 +18909,11 @@ msgstr ""
"laten\n"
"zelfs als er geen backslashes zijn."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr "Specificeer kolommen om de boekenlijst te sorteren bij het opstarten"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -18831,11 +18931,11 @@ msgstr ""
"Bijvoorbeeld, instellen op [('authors',0),('title',0)] om te sorteren op\n"
"titel binnen schrijvers."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr "Stel in hoe data worden weergegeven"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -18874,11 +18974,11 @@ msgstr ""
"publicatie standaard indien niet ingesteld: MMM yyyy\n"
"timestamp standaard indien niet ingesteld: dd MMM yyyy"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr "Sortering van titels en reeksen in de bibliotheekweergave beheren"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -18911,11 +19011,11 @@ msgstr ""
"de titel is aangepast. Dubbelklikken op een titel gevolgd door enter\n"
"zonder iets aan te passen is voldoende om de sortering bij te werken."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr "Opmaak van titel en reeksen bij het gebruik in sjablonen beheren"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -18950,13 +19050,13 @@ msgstr ""
"op\n"
"strictly_alphabetic, blijft het \"The Lord of the Rings\"."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
"Stel de lijst van woorden in die als \"lidwoorden\" dienen tijdens sorteren "
"van tekststrings"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -18983,11 +19083,11 @@ msgstr ""
"Om gebruik van deze regexp uit te schakelen gebruik: '^$'\n"
"Standaard: '^(A|The|An)\\s+'"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr "Specificeer een map die calibre moet inlezen tijdens het opstarten"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -19010,11 +19110,11 @@ msgstr ""
"auto_connect_to_folder = 'C:\\\\Users\\\\iemand\\\\Desktop\\\\testbib'\n"
"auto_connect_to_folder = '/home/dropbox/My Dropbox/iemand/bibliotheek'"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr "Specificeer hernoemregels voor SONY-collecties"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -19085,11 +19185,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr "Specificeer hoe SONY-collecties worden gesorteerd"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -19140,13 +19240,13 @@ msgstr ""
") ]\n"
"Standaard: leeg (geen regels), dus geen collectieattributen met een naam."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
"Stel in hoe labels worden toegepast tijdens kopiëren van boeken naar een "
"andere bibliotheek"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
@@ -19156,20 +19256,20 @@ msgstr ""
"nieuwe boeken' worden toegevoegd als een boek naar een andere bibliotheek "
"wordt gekopieerd"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
"Stel het maximaal aantal labels per boek in om weer te geven in de "
"inhoudsserver"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
"Stel persoonlijke metadatavelden in om al dan niet weer te geven in de "
"inhoudsserver."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -19205,11 +19305,11 @@ msgstr ""
"content_server_will_display = ['*']\n"
"content_server_wont_display['#mijncommentaar']"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr "Maximaal aantal sorteerniveaus instellen"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -19229,13 +19329,13 @@ msgstr ""
"vertraging merkt,\n"
"reduceer dan het aantal niveaus met deze tweak."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
"Specificeer welk lettertype gebruikt moet worden bij het genereren van een "
"standaardomslag"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -19249,11 +19349,11 @@ msgstr ""
"lettertype (Liberation Serif) niet de lettertekens bevat voor de taal van de "
"boeken in jouw bibliotheek."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr "Gedrag bij dubbelklik op de boekenlijst beheren"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -19270,11 +19370,11 @@ msgstr ""
"Standaard: open_viewer.\n"
"Voorbeeld: doubleclick_on_library_view = 'do_nothing'"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr "Taal om te gebruiken bij sorteren."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -19299,12 +19399,12 @@ msgstr ""
"Voorbeeld: locale_for_sorting = 'nl' -- sorteer op basis van Nederlandse "
"regels."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
"Aantal kolommen voor persoonlijke metadata in het 'bewerk metadata'-venster"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -19316,11 +19416,11 @@ msgstr ""
"bewerken van metadata per boek. True: Toon velden in twee kolommen\n"
"False: gebruik één kolom."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr "Het aantal seconden om te wachten voor mails worden verzonden"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -19335,11 +19435,11 @@ msgstr ""
"waardoor versturen van mail zal mislukken. Veranderingen worden doorgevoerd\n"
"na het herstarten van calibre."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr "Verwijder de lichtgele lijnen aan de randen van de boekenlijst"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
@@ -19350,11 +19450,11 @@ msgstr ""
"verborgen.\n"
"Wijziging wordt van kracht na het herstarten van calibre."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr "De maximumbreedte en -hoogte voor omslagen in de calibrebibliotheek"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
@@ -19366,11 +19466,11 @@ msgstr ""
"veroorzaakt door\n"
"extreem grote omslagen"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr "Locatie voor gedownload nieuws"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -19389,11 +19489,11 @@ msgstr ""
"locatie\n"
"met de meeste ruimte."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr "Naar welke poorten moet de inhoudsserver luisteren"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -19413,11 +19513,11 @@ msgstr ""
"(dit werkt\n"
"mogelijk niet op alle besturingssystemen)"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr "Samengevoegde werkbalk op OS X"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -22345,6 +22445,9 @@ msgstr ""
#~ msgid "The first producer of free ebooks."
#~ msgstr "De eerste producent van gratis E-boeken."
+#~ msgid "Argument count must be -1 or greater than zero"
+#~ msgstr "Parameter moet -1 of groter dan nul zijn"
+
#~ msgid "Exception "
#~ msgstr "Uitzondering "
@@ -22631,6 +22734,39 @@ msgstr ""
#~ "ebook.com/user_manual/conversion.html#font-size-rescaling\">handleiding "
#~ "voor een discussie over de werking van lettergrootte-herschaling.
"
+#~ 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 ""
+#~ "subitems(waarde, start_index, eind_index) -- Deze functie wordt gebruikt "
+#~ "voor het opsplitsen van lijsten van items zoals genres. Het interpreteert de "
+#~ "waarde als een door komma's gescheiden lijst van items, waarbij elk item een "
+#~ "punt-gescheiden lijst is. Geeft een nieuwe lijst gemaakt door eerst alle "
+#~ "door punten gescheiden items te vinden, dan voor elk van deze onderdelen de "
+#~ "het deel van `start_index`th tot `eind_index`th uit het item te extraheren, "
+#~ "vervolgens worden deze resultaten weer gecombineerd. Het eerste item in een "
+#~ "punt-gescheiden lijst heeft een index van nul. Als een index negatief is, "
+#~ "dan wordt geteld vanaf het einde van de lijst. Als een bijzonder geval, een "
+#~ "end_index van nul wordt verondersteld als de lengte van de lijst. "
+#~ "Bijvoorbeeld met behulp van het basissjabloon modus en uitgaande van een "
+#~ "#genre waarde van \"A.B.C.\": {#genre: subitems(0,1)} geeft als resultaat "
+#~ "\"A\". {#genre:subitems(0,2)} geeft \"A.B\". {#genre:subitems(1,0)} geeft "
+#~ "\"B.C\". Uitgaande van een #genre waarde van \"A.B.C, D.E.F\", "
+#~ "{#genre:subitems(0,1)} geeft \"A, D\". {#genre:subitems(0,2)} geeft \"A.B, "
+#~ "D.E\""
+
#~ msgid "World Famous eBook Store."
#~ msgstr "Wereldberoemde E-boek winkel."
@@ -22941,12 +23077,30 @@ msgstr ""
#~ "extensie mee op te geven). De groepsnamen voor de verschillende metadata "
#~ "zijn gedocumenteerd in de tooltips.
"
+#~ msgid "Open Tag Wizard"
+#~ msgstr "Open label ondersteuning"
+
+#~ msgid "Invalid text"
+#~ msgstr "Ongeldige tekst"
+
+#~ msgid "The text in the box was not generated by this wizard"
+#~ msgstr "De tekst in het veld was niet gemaakt door deze ondersteuning"
+
+#~ msgid "Tag Wizard"
+#~ msgstr "Label ondersteuning"
+
#~ msgid "Tags (more than one per box permitted)"
#~ msgstr "Labels (meer dan één per veld toegestaan)"
#~ msgid "Color"
#~ msgstr "Kleur"
+#~ msgid "Invalid color"
+#~ msgstr "Ongeldige kleur"
+
+#~ msgid "The color {0} is not valid"
+#~ msgstr "De kleur {0} is niet geldig"
+
#~ 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 "
@@ -22961,6 +23115,21 @@ msgstr ""
#~ "ebook.com/user_manual/template_lang.html\">handleiding beschikbaar voor "
#~ "sjabloon gebruik."
+#~ msgid "Color selection template"
+#~ msgstr "Kleur selectie sjabloon"
+
+#~ msgid "Open the tags wizard."
+#~ msgstr "Open de label ondersteuning."
+
+#~ msgid "Color names"
+#~ msgstr "Kleur namen"
+
+#~ msgid "Column Coloring"
+#~ msgstr "Kolom kleuring"
+
+#~ msgid "Column to color"
+#~ msgstr "Kolom om te kleuren"
+
#~ msgid ""
#~ "
This store is currently diabled and cannot be used in other parts of "
#~ "calibre.
"
@@ -22971,6 +23140,25 @@ msgstr ""
#~ msgid "
This store distributes ebooks in the following formats: %s
"
#~ msgstr "
Deze winkel verkoopt E-boeken in de volgende formaten: %s
"
+#~ 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 ""
+#~ "Als je een veld wilt kleuren op basis van een label, klik dan op de knop "
+#~ "naast een lege regel om de label ondersteuning te openen. Deze zal een "
+#~ "sjabloon voor je maken. Je kan dit later wijzigen met dezelfde ondersteuner. "
+#~ "Als je het handmatig aanpast, werkt de ondersteuner mogelijk niet meer of "
+#~ "kan deze de oude waarden terug zetten."
+
+#~ msgid ""
+#~ "You can access a multi-line template editor from the context menu (right-"
+#~ "click)."
+#~ msgstr ""
+#~ "Je kan een sjabloon-beheer-venster met meerdere lijnen bereiken via het "
+#~ "context menu (rechts klikken)."
+
#~ msgid "
This store only distributes ebooks with DRM.
"
#~ msgstr "
Deze winkel verkoopt enkel E-boeken met DRM.
"
@@ -22997,6 +23185,23 @@ msgstr ""
#~ "
Deze winkel verkoopt E-boeken met DRM. Het heeft mogelijk enkele titels "
#~ "zonder DRM, maar je moet dit per titel zelf controleren.
"
+#~ 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 ""
+#~ "Nb: als je een \"persoonlijke kolom met vaste waarden\" wilt kleuren, "
+#~ "is het meestal makkelijker om een kleur op te geven in het kolom-definitie "
+#~ "venster. Daar kan je een kleur opgeven voor iedere waarde zonder een "
+#~ "sjabloon te gebruiken."
+
+#~ msgid "Color if tag not found"
+#~ msgstr "Kleuren als label niet gevonden is"
+
+#~ msgid "Color if tag found"
+#~ msgstr "Kleuren als label gevonden is"
+
#~ msgid "Downloads metadata from amazon.fr"
#~ msgstr "Downloadt metadata van amazon.fr"
@@ -23157,6 +23362,9 @@ msgstr ""
#~ "Alle bestanden van %s zullen definitiefverwijderd worden. "
#~ "Weet u het zeker?"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Kies formaten die niet verwijderd moeten worden"
+
#~ msgid "Download only metadata"
#~ msgstr "Alleen metadata downloaden"
diff --git a/src/calibre/translations/oc.po b/src/calibre/translations/oc.po
index 3c7d4101dd..e0e873d591 100644
--- a/src/calibre/translations/oc.po
+++ b/src/calibre/translations/oc.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2010-05-21 07:14+0000\n"
"Last-Translator: Cédric VALMARY (Tot en òc) \n"
"Language-Team: Occitan (post 1500) \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:48+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:44+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Fa estrictament pas res"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Fa estrictament pas res"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Fa estrictament pas res"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -744,13 +744,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +817,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -842,7 +842,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +851,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Nòvas"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1220,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2644,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2679,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2715,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2896,7 +2896,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3074,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4249,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4427,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4457,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4528,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5145,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5257,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7527,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7581,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7614,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7755,14 +7757,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8817,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8991,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9470,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9479,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9507,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9650,7 +9608,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9617,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9663,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10245,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10367,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10383,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10411,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10645,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11337,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11476,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11505,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11575,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12275,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12343,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13157,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15135,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15685,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15737,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15777,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15787,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15813,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15825,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15834,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15872,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15880,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15889,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15909,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16512,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16534,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16557,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16607,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16622,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16647,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16671,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16692,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16710,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16727,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16802,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16833,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16871,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16887,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16899,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16913,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16931,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16943,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16956,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16992,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17007,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/pa.po b/src/calibre/translations/pa.po
index 52fe377e0a..cded526b07 100644
--- a/src/calibre/translations/pa.po
+++ b/src/calibre/translations/pa.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-02-13 04:56+0000\n"
"Last-Translator: Aalam Rangi \n"
"Language-Team: Punjabi \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:49+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:44+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -751,13 +751,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -824,14 +824,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -849,7 +849,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -858,22 +858,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1227,11 +1227,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2651,33 +2651,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2686,35 +2686,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2722,34 +2722,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2903,7 +2903,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3081,7 +3081,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4256,59 +4256,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4432,8 +4434,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4462,7 +4464,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4533,11 +4535,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5150,7 +5152,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5262,7 +5264,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7532,19 +7534,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7586,8 +7588,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7619,7 +7621,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7762,14 +7764,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8822,7 +8824,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8996,110 +8998,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9519,7 +9477,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9528,7 +9486,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9556,7 +9514,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9657,7 +9615,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9666,7 +9624,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9712,45 +9670,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10294,7 +10252,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10416,15 +10374,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10432,27 +10390,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10460,35 +10418,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10694,6 +10652,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11173,186 +11344,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11361,26 +11483,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11390,38 +11512,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11484,11 +11582,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12184,7 +12282,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12252,31 +12350,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13064,7 +13164,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15042,19 +15142,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15592,49 +15692,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15644,37 +15744,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15684,7 +15784,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15694,24 +15794,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15720,11 +15820,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15732,7 +15832,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15741,20 +15841,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15768,7 +15879,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15776,7 +15887,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15785,19 +15896,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15805,95 +15916,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16410,11 +16519,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16432,11 +16541,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16455,11 +16564,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16487,11 +16614,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16502,11 +16629,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16527,11 +16654,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16551,11 +16678,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16572,11 +16699,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16590,11 +16717,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16607,11 +16734,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16682,11 +16809,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16713,26 +16840,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16751,11 +16878,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16767,11 +16894,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16779,11 +16906,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16793,11 +16920,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16811,11 +16938,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16823,11 +16950,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16836,33 +16963,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16872,11 +16999,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16887,11 +17014,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/pl.po b/src/calibre/translations/pl.po
index 07e6be63af..8e1ee971cc 100644
--- a/src/calibre/translations/pl.po
+++ b/src/calibre/translations/pl.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
-"PO-Revision-Date: 2011-05-26 07:24+0000\n"
-"Last-Translator: t3d \n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
+"PO-Revision-Date: 2011-06-03 15:56+0000\n"
+"Last-Translator: koliberek \n"
"Language-Team: Polish \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:49+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:44+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Ta opcja zupełnie nic nie zmienia"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Ta opcja zupełnie nic nie zmienia"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Ta opcja zupełnie nic nie zmienia"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -236,7 +236,7 @@ msgstr "Sklep"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:613
msgid "An ebook store."
-msgstr ""
+msgstr "E-księgarnia"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:18
msgid ""
@@ -793,7 +793,7 @@ msgstr "Dziennik debugowania"
msgid "Communicate with Android phones."
msgstr "Umożliwia komunikację z telefonami z Androidem."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -801,7 +801,7 @@ msgstr ""
"Oddzielona przecinkami lista katalogów na urządzeniu, do których mają być "
"wysyłane książki. Zostanie użyty pierwszy istniejący katalog"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Umożliwia komunikację z telefonami S60."
@@ -870,14 +870,14 @@ msgstr "Uaktualnianie listy metadanych..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d z %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "zakończone"
@@ -900,7 +900,7 @@ msgstr ""
"Niektóre grafiki okładek nie mogły zostać przekonwertowane.\n"
"Kliknij 'Pokaż szczegóły', aby zobaczyć listę."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -909,22 +909,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Newsy"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalog"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Umożliwia komunikację z aplikacją iTunes"
@@ -1047,11 +1047,11 @@ msgstr "Kovid Goyal"
#: /home/kovid/work/calibre/src/calibre/devices/boeye/driver.py:14
msgid "Communicate with BOEYE BEX Serial eBook readers."
-msgstr ""
+msgstr "Umożliwia komunikację z czytnikami BOEYE BEX Serial."
#: /home/kovid/work/calibre/src/calibre/devices/boeye/driver.py:35
msgid "Communicate with BOEYE BDX serial eBook readers."
-msgstr ""
+msgstr "Umożliwia komunikację z czytnikami BOEYE BDX Serial"
#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:22
msgid "Communicate with the Cybook Gen 3 / Opus eBook reader."
@@ -1302,11 +1302,11 @@ msgstr "Umożliwia komunikację z czytnikiem książek Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "Umożliwia komunikację z czytnikiem książek Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Umożliwia komunikację z czytnikiem książek EEE"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Umożliwia komunikację z czytnikiem książek Nextbook"
@@ -1340,11 +1340,11 @@ msgstr "Umożliwia komunikację z czytnikiem książek Nook Color"
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:111
msgid "Nook Simple"
-msgstr ""
+msgstr "Nook Simple"
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:112
msgid "Communicate with the Nook TSR eBook reader."
-msgstr ""
+msgstr "Umożliwia komunikację z czytnikami Nook TSR."
#: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:17
msgid "Communicate with the Nuut2 eBook reader."
@@ -1600,7 +1600,7 @@ msgstr "USB Vendor ID (hex)"
msgid ""
"Get this ID using Preferences -> Misc -> Get information to set up the user-"
"defined device"
-msgstr ""
+msgstr "Pobierz ID za pomocą Preferencje ->"
#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:70
@@ -1654,7 +1654,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:66
msgid "Card A folder"
-msgstr ""
+msgstr "Folder karty A"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:202
msgid "Rendered %s"
@@ -2751,6 +2751,11 @@ msgid ""
"inline: Write the CSS as an inline style attribute.\n"
"tag: Turn as many CSS styles as possible into HTML tags."
msgstr ""
+"Wybór rodzaj zastosowanego arkusza stylów. Domyślnie - class. "
+" \n"
+"class: Użyj klass CSS i odwołań do nich w elementach dokumentu.\n"
+"inline: Wpisz style bezpośrednio do elementów dokumentu.\n"
+"tag: Użyj formatowania HTML zamiast stylów tam, gdzie to możliwe."
#: /home/kovid/work/calibre/src/calibre/ebooks/htmlz/output.py:38
msgid ""
@@ -2759,6 +2764,10 @@ msgid ""
"external: Use an external CSS file that is linked in the document.\n"
"inline: Place the CSS in the head section of the document."
msgstr ""
+"Jak potraktować arkusz stylów, który ma bazować na klasach.\n"
+"Domyślna opcja to external.\n"
+"external: Użyj zewnętrznego pliku, dołączonego do dokumentu.\n"
+"inline: Umieść arkusz stylów w części nagłówkowej dokumentu."
#: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47
msgid "Creating LIT file from EPUB..."
@@ -3058,33 +3067,33 @@ msgstr ""
"Wypakuj popularne formaty e-booków z plików archiwów (zip/rar). Spróbuj "
"także automatycznie wykryć, czy są to pliki cbz/cbr."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "BŁĄD SZABLONU"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Nie"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Tak"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3093,35 +3102,35 @@ msgstr "Tak"
msgid "Title"
msgstr "Tytuł"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autor(rzy)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Wydawca"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Producent"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Komentarze"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3129,34 +3138,34 @@ msgstr "Komentarze"
msgid "Tags"
msgstr "Etykiety"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Cykl"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Język"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Data"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Opublikowano"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Uprawnienia"
@@ -3335,7 +3344,7 @@ msgstr "Upłynął czas zapytania Amazon. Spróbuj ponownie później."
msgid "Metadata source"
msgstr "Źródło metadanych"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr "Pobierz metadane i okładki z Douban.com"
@@ -3529,7 +3538,7 @@ msgid "HTML TOC generation options."
msgstr "Opcje generowania spisu treści w HTML."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4089,6 +4098,11 @@ msgid ""
"set and default to the color displayed by the reader (generally this is "
"black)."
msgstr ""
+"Nie usuwaj kolorów tekstu w pliku wyjściowym. Ma to sens jedynie wtedy, "
+"kiedy pole Formatowanie jest ustawione na textile. Textile jest jedynym "
+"formatowaniem, umożliwiającym kolorowanie tekstu. Jeśli to pole nie jest "
+"zaznaczone kolory nie zostaną ustawione i tekst będzie w domyślnym kolorze "
+"(zazwyczaj czarnym)."
#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:104
msgid "Send file to storage card instead of main memory by default"
@@ -4870,47 +4884,49 @@ msgid "Choose formats to be deleted"
msgstr "Wybierz formaty do usunięcia"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Wybierz formaty, które nie zostaną usunięte"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Nie udało się usunąć książek"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Żadne urządzenie nie jest podłączone"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Pamięć główna"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Karta pamięci A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Karta pamięci B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Brak książek do usunięcia"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Żadna z wybranych książek nie znajduje się na urządzeniu"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Usuwanie książek z urządzenia."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -4918,7 +4934,7 @@ msgstr ""
"Niektóre z zaznaczonych książek są również na urządzeniu. Skąd chcesz "
"usunąć zaznaczone książki?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4926,7 +4942,7 @@ msgstr ""
"Wybrane książki zostaną trwale usunięte oraz pliki zostaną usunięte z "
"twojej biblioteki calibre. Czy jesteś pewien?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -5052,8 +5068,8 @@ msgstr "Nie udało się pobrać metadanych"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr "Błąd pobierania"
@@ -5087,7 +5103,7 @@ msgid "Download complete"
msgstr "Pobieranie zakończone"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr "Dziennik pobierania"
@@ -5184,11 +5200,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr "Zapisywanie zmienionych metadanych"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr "Wystąpiły błędy"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5838,10 +5854,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:133
msgid "Book %s of %s"
-msgstr "Ksiązka nr %s z serii %s"
+msgstr "Książka nr %s z serii %s"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Kolekcje"
@@ -5953,7 +5969,7 @@ msgstr "wyjście"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -6654,6 +6670,14 @@ msgid ""
"the User Manual."
msgstr ""
+" Przetwarzanie heurystyczne oznacza, że calibre wyszuka często "
+"spotykane sekwencje i spróbuje je dostosować do aktualnych potrzeb. Takie "
+"działanie zakłada pewien margines błędu, co może spowodować, że konwersja "
+"będzie gorszej jakości. Dlatego też opcja ta jest domyślnie wyłączona. "
+"Jeżeli wynik konwersji bez tej opcji cię nie zadowala spróbuj ją włączyć - "
+"może się okazać, że to poprawi sytuację. Więcej o przetwarzaniu "
+"heurystycznym znajdziesz w podręczniku użytkownika."
#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:114
msgid "Enable &heuristic processing"
@@ -6710,11 +6734,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/htmlz_output_ui.py:45
msgid "How to handle CSS"
-msgstr ""
+msgstr "Jak potraktować CSS"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/htmlz_output_ui.py:46
msgid "How to handle class based CSS"
-msgstr ""
+msgstr "Jak potraktować CSS bazujące na klasach"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:16
msgid "Look & Feel"
@@ -7253,6 +7277,11 @@ msgid ""
"wizard buttons below will allow you to test your regular expression against "
"the current input document."
msgstr ""
+"
Do you want to restore the database?"
msgstr ""
"Twoja lista książek wraz z ich metadanymi są przechowywane w pojedynczym "
-"plku, bazie danych. W dodatku metadane dla każdej książki są przechowywane w "
-"katalogu tejże książki, jako kopia zapasowa.
Ta operacja przebuduje bazę "
-"danych z metadancyh pojedynczej książki. To przydaje się, gdy baza danych "
+"pliku, bazie danych. W dodatku metadane dla każdej książki są przechowywane "
+"w katalogu tejże książki, jako kopia zapasowa.
Ta operacja przebuduje bazę "
+"danych z metadanych pojedynczej książki. To przydaje się, gdy baza danych "
"ulegnie uszkodzeniu, a ty uzyskasz czystą listę książek. Wiedz, że "
"odtwarzanie tylko odtworzy książki, a nie wszelkie ustawienia zapisane w "
"bazie danych, czy jakiekolwiek własne przepisy.
Czy chcesz odtworzyć bazę "
@@ -9838,7 +9867,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr "Nazwa już wykorzystana"
@@ -10023,110 +10052,66 @@ msgstr "Zmień nazwę elementu w każdej książce, w której jest używany."
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr "&Nazwa funkcji:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr "&Dokumentacja:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr "Kod Python:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:32
msgid "Open Template Editor"
-msgstr ""
+msgstr "Otwórz edytor szablonów"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Modyfikuj szablon"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Testuj ustawienia email"
@@ -10414,7 +10399,7 @@ msgstr "Pobieranie"
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:103
msgid "Failed to download ebook"
-msgstr ""
+msgstr "Nie udało się ściągnąć książki"
#: /home/kovid/work/calibre/src/calibre/gui2/email.py:91
msgid "Email %s to %s"
@@ -10567,7 +10552,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Przeglądarka okładek"
@@ -10576,7 +10561,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Przeglądarka etykiet"
@@ -10604,7 +10589,7 @@ msgstr "Znaleziono aktualizację"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "O książce"
@@ -10706,7 +10691,7 @@ msgid "Show books in the main memory of the device"
msgstr "Pokaż książki w pamięci głównej urządzenia"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Karta A"
@@ -10715,7 +10700,7 @@ msgid "Show books in storage card A"
msgstr "Pokaż książki na karcie pamięci A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Karta B"
@@ -10764,45 +10749,45 @@ msgstr "Skopiuj aktualny tekst wyszukiwania (zamiast nazwy wyszukiwania)"
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "Na urządzeniu"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Rozmiar (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "Poszukiwana nazwa to \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "UUID tej książki to \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "W bibliotece"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Rozmiar"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Oznaczone do usunięcia"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Kliknij dwa razy, aby rozpocząć edycję
"
@@ -11377,15 +11362,15 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:190
msgid "Downloaded %d of %d"
-msgstr ""
+msgstr "Pobrane %d z %d"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/config.py:61
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:115
msgid "Downloaded metadata fields"
-msgstr ""
+msgstr "Pobrane pola metadanych"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11454,11 +11439,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:191
msgid "&Download metadata"
-msgstr ""
+msgstr "Pobierz meta&dane"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:202
msgid "Configure download metadata"
-msgstr ""
+msgstr "Konfiguracja pobierania metadanych"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:206
msgid "Change how calibre downloads metadata"
@@ -11510,17 +11495,17 @@ msgstr "&Komentarze"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:794
msgid "Basic metadata"
-msgstr ""
+msgstr "Podstawowe metadane"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
-msgstr ""
+msgstr "Ma okładkę"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
-msgstr ""
+msgstr "Ma streszczenie"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11528,63 +11513,69 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
-msgstr ""
+msgstr "calibre pobiera metadane z: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr "Proszę czekać"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr "Zapytanie: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
+"Nie udało się ściągnąć metadanych. Kliknij Pokaż szczegóły aby zobaczyć "
+"szczegóły"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
"single distinctive word from the title.
To see the full log, click Show "
"Details."
msgstr ""
+"Nie udało się znaleźć żadnej książki pasującej do zapytania. Spróbuj podać "
+"mniej szczegółowe dane. Możesz na przykład podać tylko nazwisko "
+"autora i jedno słowo z tytułu.
Aby zobaczyć więcej informacji kliknij "
+"przycisk Pokaż szczegóły."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr "Wyszukiwanie..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr "Pobieranie okładek dla %s. Proszę czekać..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Pobieranie okładki..."
@@ -11734,11 +11725,11 @@ msgstr "Bardzo niski"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64
msgid "Compact Metadata"
-msgstr ""
+msgstr "Układ kompaktowy"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65
msgid "All on 1 tab"
-msgstr ""
+msgstr "Wszystko na jednej zakładce"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:165
msgid "Done"
@@ -11757,10 +11748,12 @@ msgid ""
"If checked, Yes/No custom columns values can be Yes, No, or Unknown.\n"
"If not checked, the values can be Yes or No."
msgstr ""
+"Jeśli pole jest zaznaczone kolumny mogą mieć wartość Tak, Nie lub Nieznany.\n"
+"Jeśli pole nie jest zaznaczone sa tylko dwie możliwości - Tak i Nie."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:150
msgid "Yes/No columns have three values (Requires restart)"
-msgstr ""
+msgstr "Kolumna Tak/Nie ma trzy wartości (wymaga restartu)"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:151
msgid "Automatically send downloaded &news to ebook reader"
@@ -11810,13 +11803,15 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:163
msgid "Edit metadata (single) layout:"
-msgstr ""
+msgstr "Układ edycji pojedynczej książki:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:164
msgid ""
"Choose a different layout for the Edit Metadata dialog. The compact metadata "
"layout favors editing custom metadata over changing covers and formats."
msgstr ""
+"Wybór układu pól okna dialogowego edycji metadanych. W układzie kompaktowym "
+"łatwiej jest edytować własne metadane niż zmieniać okładki i formaty."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165
msgid "Preferred &input format order:"
@@ -11830,6 +11825,219 @@ msgstr "Użyj &wewnętrzej przeglądarki dla:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Zresetuj wszystkie wyłączone zapytania o potwierdzenie"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Musisz wybrać kolumnę, by móc ją usunąć"
@@ -11936,7 +12144,7 @@ msgstr "Kolumna składająca się z innych kolumn"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:45
msgid "Column built from other columns, behaves like tags"
-msgstr ""
+msgstr "Kolumny budowane z innych kolum, zachowujące się jak etykiety"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:52
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:53
@@ -12248,7 +12456,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:259
msgid "Colors"
-msgstr ""
+msgstr "Kolory"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:21
msgid "Getting debug information"
@@ -12349,188 +12557,141 @@ msgstr ""
msgid "new email address"
msgstr "nowy adres email"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Wąski"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Szeroki"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Małe"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Duże"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Średnie"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Zawsze"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
-msgid "If there is enough room"
-msgstr ""
-
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+msgid "If there is enough room"
+msgstr "Brak wystarczającej ilości miejsca"
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Nigdy"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "Od pierwszej litery"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Wyłączone"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr "Podzielone na partycje"
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "&Układ interfejsu użytkownika (wymaga ponownego uruchomienia):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Wybierz &język (wymaga ponownego uruchomienia):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
"Aktywuj ikonę w &zasobniku systemowym (wymaga ponownego uruchomienia)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr ""
"Zablokuj wszystkie animacje. Przydatne, jeśli masz wolny/stary komputer."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Zablokuj &animacje"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Wyłącz powiadomienia w zasob&niku systemowym"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Pokaż planszę &startową podczas uruchomienia"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "&Pasek narzędzi"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "&Rozmiar ikon:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Pokaż &tekst pod ikonami:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "Czcionka interfejsu:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "Zmień czcionkę (wymaga ponownego uruchomienia)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
-msgstr ""
+msgstr "Wybierz metadane, które mają być wyświetlone"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr "Przenieś wyżej"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr "Przenieś niżej"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Użyj numeracji rzymskiej dla cykli"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
msgid ""
"Note that comments will always be displayed at the end, regardless of "
"the position you assign here."
msgstr ""
+"Pamiętaj, że komentarze będą zawsze wyświetlane na końcu niezależnie "
+"od tego na jakiej pozycji ustawisz tę kolumnę."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr "Metoda kategorii partycjonowania przeglądarki etykiet:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12544,11 +12705,11 @@ msgstr ""
"partycjonowane, aby uzyskać listę grup o określonym rozmiarze.\n"
"Wybierz wyłącz, aby nie oglądać podkategorii"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr "Schowaj gdy wystąpi więcej elementów niż:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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 "
@@ -12559,15 +12720,15 @@ msgstr ""
"na podkategorie. Jeśli metoda partycjonowania jest wyłączona, ta wartość jes "
"ignorowana."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Pokaż &średnie oceny w przeglądarce etykiet"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr "Kategorie z elementami hierarchicznymi:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12585,41 +12746,17 @@ msgstr ""
"'Tajemnice'. Jeśli 'etykeity' nie znajdą się w tym polu, wówczas etykiety\n"
"zostaną wyświetlone każda we własnym wierszu."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
"Pokaż &przeglądarkę okładek w nowym oknie (wymaga ponownego uruchomienia)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr ""
"&Liczba wyświetlanych okładek w trybie przeglądarki (wymaga ponownego "
"uruchomienia):"
-#: /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"
@@ -12687,11 +12824,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr "Nie wybrano źródła"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr "Nie wybrano źródła, nie można skonfigurować."
@@ -12711,6 +12848,7 @@ msgid ""
"Sources with a red X next to their names must be configured before they will "
"be used. "
msgstr ""
+"Źródła oznaczone czerwonym X muszą zostać skonfigurowane przed użyciem. "
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:114
msgid "Configure selected source"
@@ -12731,15 +12869,15 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:119
msgid "Convert all downloaded comments to plain &text"
-msgstr ""
+msgstr "Konwertuj wszystkie pobrane komentarze do &tekstu"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:120
msgid "Swap author names from FN LN to LN, FN"
-msgstr ""
+msgstr "Zamień 'Imię Nazwisko' na 'Nazwisko, Imię' autora"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:121
msgid "Max. number of &tags to download:"
-msgstr ""
+msgstr "Pobierz maksymalnie e&tykiet:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:122
msgid "Max. &time to wait after first match is found:"
@@ -12753,7 +12891,7 @@ msgstr " sekund"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:124
msgid "Max. time to wait after first &cover is found:"
-msgstr ""
+msgstr "Po znalezieniu pierwszej okładki czekaj nie dłużej niż:"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:126
msgid ""
@@ -12765,10 +12903,17 @@ msgid ""
"metadata sources has a genre like tag set for the book you are searching "
"for. Most often, they all have large tag sets."
msgstr ""
+"
Różne źródła mogą dostarczyć różnych etykiet dla tej samej książki. Jeśli "
+"ta opcja jest zaznaczona calibre wybierze zestaw z mniejszą liczbą etykiet. "
+"Najczęściej będą to określenia gatunków - większe zestawy etykiet z reguły "
+"bardziej szczegółowo opisują treść.\n"
+"
Pamiętaj, że ta opcja sprawi różnicę tylko wtedy, gdy zestawy etykiet "
+"znacząco się różnią. Zazwyczaj jednak książki mają szerokie zestawy, "
+"bardziej opisujące treść niż klasyfikujące książkę."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:128
msgid "Prefer &fewer tags"
-msgstr ""
+msgstr "Wybierz mniejsze etykiety"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:56
msgid "Failed to install command line tools."
@@ -13508,7 +13653,7 @@ msgstr ""
"na urządzeniu iPhone. myhostname powinien być poprawną nazwą hosta lub "
"adresem IP komputera, na którym działa calibre."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -13641,31 +13786,33 @@ msgstr ""
"
\n"
" "
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr "Funkcje szablonu"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr "Nie możesz skasować wbudowanych funkcji"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr "Niezdefiniowana funkcja"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
-msgstr "Suma argumentu musi wynosić -1 lub być większa od zera"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr "Podczas kompilowania funkcji nastąpił wyjątek"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr "kod źródłowy funkcji niedostępny"
@@ -14486,7 +14633,7 @@ msgid ""
msgstr "Zmiana metadanych dla tylu książek może chwilę zająć. Jesteś pewien?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Wyszukiwania"
@@ -14516,23 +14663,23 @@ msgstr "Nazwa zapisanego wyszukania %s jest już używana."
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1834
msgid "Manage Authors"
-msgstr ""
+msgstr "Zarządzaj autorami"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1836
msgid "Manage Series"
-msgstr ""
+msgstr "Zarządzaj seriami"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1838
msgid "Manage Publishers"
-msgstr ""
+msgstr "Zarządzaj wydawcami"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1840
msgid "Manage Tags"
-msgstr ""
+msgstr "Zarządzaj etykietami"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1852
msgid "Invalid search restriction"
-msgstr ""
+msgstr "Nieprawidłowy filtr wyszukiwania"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1853
msgid "The current search restriction is invalid"
@@ -14647,7 +14794,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2171
msgid "Manage authors, tags, etc"
-msgstr ""
+msgstr "Zarządzaj autorami, etykietami itp."
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:2172
msgid ""
@@ -16853,20 +17000,20 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sŚrednia ocena to %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Główna"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
"
Przenoszenie starej bazy danych do biblioteki książek w %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Kopiowanie %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Kompaktowanie bazy danych"
@@ -16876,7 +17023,7 @@ msgstr "Oceny"
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:181
msgid "Identifiers"
-msgstr "Identyikatory"
+msgstr "Identyfikatory"
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:191
msgid "Author Sort"
@@ -17466,7 +17613,7 @@ msgstr "Nie ma takiej zmiennej "
msgid "No documentation provided"
msgstr "Nie dostarczono dokumentacji"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
@@ -17475,7 +17622,7 @@ msgstr ""
"liter ma znaczenie). Zwraca lt jeśli x < y. Zwraca eq jeśli x == y. W innym "
"wypadku zwraca gt."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
@@ -17484,7 +17631,7 @@ msgstr ""
"numerów. Zwraca lt jeśli x < y. Zwraca eq jeśli x == y. W innym wypadku "
"zwraca gt."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
@@ -17492,7 +17639,7 @@ msgstr ""
"strcat(a, b, ...) -- może pobrać jakąkolwiek ilość argumentów. Zwraca ciąg "
"znaków połączonych z wszystkich argumentów"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
@@ -17500,7 +17647,7 @@ msgstr ""
"add(x, y) -- zwraca x + y. Wyrzuca wyjątek jeśli albo x albo y nie są "
"numerami."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
@@ -17508,7 +17655,7 @@ msgstr ""
"subtract(x, y) -- zwraca x - y. Wyrzuca wyjątek jeśli albo x albo y nie są "
"numerami."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
@@ -17516,7 +17663,7 @@ msgstr ""
"multiply(x, y) -- zwraca x * y. Wyrzuca wyjątek jeśli albo x albo y nie są "
"numerami."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
@@ -17524,7 +17671,7 @@ msgstr ""
"divide(x, y) -- zwraca x / y. Wyrzuca wyjątek jeśli albo x albo y nie są "
"numerami."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -17540,7 +17687,7 @@ msgstr ""
"template('[[title_sort]]') określi wzorzec {title_sort} i zwróci jego "
"wartość."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
@@ -17550,7 +17697,7 @@ msgstr ""
"'przypisane' do) zamiast z książki metadanych. To pozwala wykorzystać "
"procesor szablonów do konstrukcji złożonych wyników z lokalnych zmiennych."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
@@ -17558,7 +17705,7 @@ msgstr ""
"assign(id, val) -- przypisuje val do id, a następnie zwraca val. id musi być "
"identyfikatorem, nie wyrażeniem"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
@@ -17568,11 +17715,11 @@ msgstr ""
"Jeśli nie uruchomisz calibre z linii komend (calibre-debug -g), wynik "
"pójdzie do czarnej dziury."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr "field(name) -- zwraca pole metadanych nazwane po nazwie"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
@@ -17580,7 +17727,7 @@ msgstr ""
"raw_field(name) -- zwraca metadane pola nazwanego po nazwie bez zastosowania "
"jakiegokolwiek formatowania."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -17595,7 +17742,7 @@ msgstr ""
"wskazuje ostatni znak. Na przykład, substr('12345', 1, 0) zwraca '2345', a "
"substr('12345', 1, -1) zwraca '234'."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -17611,11 +17758,11 @@ msgstr ""
"wartości z jakiegoś innego złożonego pola. Jest to nadzwyczaj użyteczne "
"podczas konstruowania zmiennych ścieżek zapisu"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr "lookup wymaga albo 2 albo nieparzystej liczby argumentów"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
@@ -17624,7 +17771,7 @@ msgstr ""
"niepusty` gdy pole nie jest puste, w przeciwnym wypadku zwraca `tekst gdy "
"pusty`"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
@@ -17635,7 +17782,7 @@ msgstr ""
"Zwraca ` tekst gdy pasuje` jeśli znajdzie dopasowania, w przeciwnym wypadku "
"zwraca `tekst gdy nie pasuje`"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -17649,11 +17796,11 @@ msgstr ""
"wzorzec nie pasuje, wówczas zwracana jest else_value. Możesz zadeklarować "
"tyle par `pattern, value` ile chcesz"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr "switch wymaga nieparzystej ilości argumentów"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -17661,7 +17808,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -17670,7 +17817,18 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
msgid ""
"re(val, pattern, replacement) -- return the field after applying the regular "
"expression. All instances of `pattern` are replaced with `replacement`. As "
@@ -17680,7 +17838,7 @@ msgstr ""
"wyrażenia. Wszystkie wypadki `wzorca` są zastąpione `zamianą`. Tak jak w "
"całym calibre, są to kompatybilne z pythonem regularne wyrażenia"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
msgid ""
"ifempty(val, text if empty) -- return val if val is not empty, otherwise "
"return `text if empty`"
@@ -17688,7 +17846,7 @@ msgstr ""
"ifempty(val, tekst jeśli pusty) -- zwraca val jeśli val nie jest pusty, w "
"przeciwnym wypadku zwraca `tekst jeśli pusty`"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -17712,7 +17870,7 @@ msgstr ""
"pole pozostanie nienaruszone. Na przykład tytuł `The Dome` nie ulegnie "
"zmianie."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -17724,7 +17882,7 @@ msgstr ""
"używa przecinka jako separatora, ale autorzy używa znak &. Przykłady: "
"{tags:count(,)}, {authors:count(&)}"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -17738,7 +17896,7 @@ msgstr ""
"1,separator)`. Jeśli element nie jest w liście, wówczas zwrócona zostaje "
"pusta wartość. Separator ma takie samo znaczenie jak w funkcji count."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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, "
@@ -17748,134 +17906,108 @@ msgstr ""
"elementów, z elementami będącymi \"id:value\". Znajduje parę z id równym "
"key, a potem zwraca odpowiadającą jej wartość."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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 ""
-"sublist(val, start_index, end_index, separator) -- interpretuje wartość jako "
-"listę elementów oddzielonych `separatorem`, zwracając nową listę stworzoną "
-"od elementu `start_index` do elementu `end_index`. Pierwszy element jest "
-"numerem zero. Jeśli indeks jest ujemny, wówczas liczy od końca listy. W "
-"szczególnym wypadku, end_index zera zakłada się, że jest długością listy. "
-"Przykłady wykorzystujące prosty tryb szablonu przy założeniu, że kolumny "
-"etykiet (które sa oddzielane przecinkiem) zawierają \"A, B, C\": "
-"{tags:sublist(0,1,\\,)} zwraca \"A\". {tags:sublist(-1,0,\\,)} zwraca \"C\". "
-"{tags:sublist(0,-1,\\,)} zwraca \"A, B\"."
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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\""
+"each such item extracting the start_index` to the `end_index` 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 ""
-"subitems(val, start_index, end_index) -- Ta funkcja używana jest do "
-"rozdzielania listy elementów takich jak gatunki. Interpretuje wartość jako "
-"oddzielaną przecinkami listę elementów, gdzie każdy element jest listą "
-"oddzielaną kropką. Zwraca nową listę stworzoną przez pierwsze znalezienie "
-"wszystkich elementów oddzielanych kropką, wtedy dla każdego takiego elementu "
-"wyciąga komponenty od `start_index` do `end_index`, potem łączy wyniki z "
-"powrotem w całość. Pierwszy komponent w liście oddzielanej kropkami ma "
-"indeks zero. Jeśli indeks jest ujemny, wówczas liczy od końca listy. W "
-"szczególnym przypadku, end_index zera zakłada się, że jest długością "
-"listy.Przykłady wykorzystujące prosty tryb szablonu przy założeniu, że "
-"wartość #genre z \"A.B.C\": {#genre:subitems(0,1)} zwraca \"A\". "
-"{#genre:subitems(0,2)} zwraca \"A.B\". {#genre:subitems(1,0)} zwraca "
-"\"B.C\". Zakłądając, że wartość #genre z \"A.B.C, D.E.F\", "
-"{#genre:subitems(0,1)} zwraca \"A, D\". {#genre:subitems(0,2)} zwraca \"A.B, "
-"D.E\""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:523
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
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"
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:551
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:612
msgid "uppercase(val) -- return value of the field in upper case"
msgstr "uppercase(val) -- zwraca wartość pola w dużych literach"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
msgid "lowercase(val) -- return value of the field in lower case"
msgstr "lowercase(val) -- zwraca wartość pola w małych literach"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
"titlecase(val) -- zwraca wartość pola w tytulikach (każdy wyraz z wielkiej "
"litery)"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid "capitalize(val) -- return value of the field capitalized"
msgstr "capitalize(val) -- zwraca wartość pola napisaną dużymi literami"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:583
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -18422,11 +18554,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -18444,11 +18576,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -18467,11 +18599,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -18499,11 +18649,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -18514,11 +18664,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -18539,11 +18689,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -18563,11 +18713,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -18584,11 +18734,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -18602,11 +18752,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -18619,11 +18769,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -18694,11 +18844,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -18725,26 +18875,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -18763,11 +18913,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -18779,11 +18929,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -18791,11 +18941,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -18805,11 +18955,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -18823,11 +18973,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -18835,11 +18985,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -18848,33 +18998,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr "Gdzie zapisywać pobrane wiadomości"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -18891,11 +19041,11 @@ msgstr ""
"pliki\n"
"zostaną przesłane do pamięci z największą ilością wolnego miejsca."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr "Na jakim interfejsie ma działać serwer treści calibre"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -18912,11 +19062,11 @@ msgstr ""
"lub na '::', aby akceptować wszystkie przychodzące połączenia IPv4 i IPv6\n"
"(nie wszystkie systemy operacyne to umożliwiają)."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr "Zunifikowany pasek narzędzi OS X"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -20213,6 +20363,9 @@ msgstr ""
#~ msgid "Create catalog of the books in your calibre library"
#~ msgstr "Stwórz katalog książek w swojej bibliotece calibre"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Wybierz formaty, które nie zostaną usunięte"
+
#~ msgid "No books selected to generate catalog for"
#~ msgstr "Brak książek do wygenerowania katalogu"
@@ -21311,6 +21464,9 @@ msgstr ""
#~ "&Maksymalna ilość oczekujących procesów roboczych (wymaga ponownego "
#~ "uruchomienia):"
+#~ msgid "Argument count must be -1 or greater than zero"
+#~ msgstr "Suma argumentu musi wynosić -1 lub być większa od zera"
+
#~ msgid ""
#~ "Choose you e-book device. If your device is not in the list, choose a \"%s\" "
#~ "device."
@@ -21376,6 +21532,59 @@ msgstr ""
#~ msgid "Enable to skip the 'Connect to iTunes' recommendation dialog"
#~ msgstr "Włącz pomijanie okna rekomendacji 'Podłącz do iTunes'"
+#~ 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 ""
+#~ "sublist(val, start_index, end_index, separator) -- interpretuje wartość jako "
+#~ "listę elementów oddzielonych `separatorem`, zwracając nową listę stworzoną "
+#~ "od elementu `start_index` do elementu `end_index`. Pierwszy element jest "
+#~ "numerem zero. Jeśli indeks jest ujemny, wówczas liczy od końca listy. W "
+#~ "szczególnym wypadku, end_index zera zakłada się, że jest długością listy. "
+#~ "Przykłady wykorzystujące prosty tryb szablonu przy założeniu, że kolumny "
+#~ "etykiet (które sa oddzielane przecinkiem) zawierają \"A, B, C\": "
+#~ "{tags:sublist(0,1,\\,)} zwraca \"A\". {tags:sublist(-1,0,\\,)} zwraca \"C\". "
+#~ "{tags:sublist(0,-1,\\,)} zwraca \"A, B\"."
+
+#~ 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 ""
+#~ "subitems(val, start_index, end_index) -- Ta funkcja używana jest do "
+#~ "rozdzielania listy elementów takich jak gatunki. Interpretuje wartość jako "
+#~ "oddzielaną przecinkami listę elementów, gdzie każdy element jest listą "
+#~ "oddzielaną kropką. Zwraca nową listę stworzoną przez pierwsze znalezienie "
+#~ "wszystkich elementów oddzielanych kropką, wtedy dla każdego takiego elementu "
+#~ "wyciąga komponenty od `start_index` do `end_index`, potem łączy wyniki z "
+#~ "powrotem w całość. Pierwszy komponent w liście oddzielanej kropkami ma "
+#~ "indeks zero. Jeśli indeks jest ujemny, wówczas liczy od końca listy. W "
+#~ "szczególnym przypadku, end_index zera zakłada się, że jest długością "
+#~ "listy.Przykłady wykorzystujące prosty tryb szablonu przy założeniu, że "
+#~ "wartość #genre z \"A.B.C\": {#genre:subitems(0,1)} zwraca \"A\". "
+#~ "{#genre:subitems(0,2)} zwraca \"A.B\". {#genre:subitems(1,0)} zwraca "
+#~ "\"B.C\". Zakłądając, że wartość #genre z \"A.B.C, D.E.F\", "
+#~ "{#genre:subitems(0,1)} zwraca \"A, D\". {#genre:subitems(0,2)} zwraca \"A.B, "
+#~ "D.E\""
+
#~ msgid "Kindle books from Amazon.uk"
#~ msgstr "Książki dla Kindle z Amazon.uk"
@@ -21438,3 +21647,33 @@ msgstr ""
#~ msgid "Audiobooki mp3, ebooki, prasa - księgarnia internetowa."
#~ msgstr "Audiobooki mp3, ebooki, prasa - księgarnia internetowa."
+
+#~ msgid "Invalid color"
+#~ msgstr "Niewłaściwy kolor"
+
+#~ msgid "The color {0} is not valid"
+#~ msgstr "Kolor {0} jest nieprawidłowy"
+
+#~ 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 ""
+#~ "Tu możesz zdefiniować reguły dla kolumn pokazywanych w widoku biblioteki. "
+#~ "Wybierz kolumnę, a następnie zdefiniuj szablon, który zdecyduje jaki kolor "
+#~ "zostanie wyświetlony. Możesz skorzystać z podręcznika przy konstruowaniu szablonów."
+
+#~ msgid "Column to color"
+#~ msgstr "Nazwa kolumny"
+
+#~ msgid "Color selection template"
+#~ msgstr "Szablon"
+
+#~ msgid "Color names"
+#~ msgstr "Nazwy kolorów"
+
+#~ msgid "Column Coloring"
+#~ msgstr "Kolory kolumn"
diff --git a/src/calibre/translations/pt.po b/src/calibre/translations/pt.po
index ffef9a39ad..d7700e2955 100644
--- a/src/calibre/translations/pt.po
+++ b/src/calibre/translations/pt.po
@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
-"PO-Revision-Date: 2011-03-21 20:14+0000\n"
-"Last-Translator: Carlos Ricardo Santos \n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
+"PO-Revision-Date: 2011-06-08 18:32+0000\n"
+"Last-Translator: Daniel \n"
"Language-Team: Portuguese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:50+0000\n"
-"X-Generator: Launchpad (build 12959)\n"
+"X-Launchpad-Export-Date: 2011-06-09 04:34+0000\n"
+"X-Generator: Launchpad (build 13168)\n"
#~ msgid "Monday"
#~ msgstr "Segundas-Feiras"
@@ -72,10 +72,10 @@ msgstr "Não faz absolutamente nada"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -100,7 +100,7 @@ msgstr "Não faz absolutamente nada"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -170,32 +170,32 @@ msgstr "Não faz absolutamente nada"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -207,7 +207,7 @@ msgstr "Não faz absolutamente nada"
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:46
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:54
msgid "Unknown"
-msgstr "Desconhecido(a)"
+msgstr "Desconhecido"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:77
msgid "Base"
@@ -221,7 +221,7 @@ msgstr "Personalizar"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:43
#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:48
msgid "Cannot configure"
-msgstr "É impossível configurar"
+msgstr "Não é possível configurar"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:318
msgid "File type"
@@ -237,11 +237,11 @@ msgstr "Gravador de metadados"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:414
msgid "Catalog generator"
-msgstr "Gerador de catalogo"
+msgstr "Criador de catálogos"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:523
msgid "User Interface Action"
-msgstr "Ação de interface do usuário"
+msgstr "Ação de interface do utilizador"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:557
#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:18
@@ -251,16 +251,16 @@ msgstr "Ação de interface do usuário"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:309
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:206
msgid "Preferences"
-msgstr "Preferências"
+msgstr "Definições"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:609
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:36
msgid "Store"
-msgstr ""
+msgstr "Armazenar"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:613
msgid "An ebook store."
-msgstr ""
+msgstr "Uma loja de ebooks."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:18
msgid ""
@@ -268,16 +268,16 @@ msgid ""
"linked files. This plugin is run every time you add an HTML file to the "
"library."
msgstr ""
-"Segue todos os atalhos locais, num ficheiro HTML e cria um ficheiro ZIP, "
-"contendo todos os ficheiros dos atalhos. Este extra é executado, todas as "
-"vezes que adiciona um ficheiro HTML à biblioteca."
+"Segue todas as ligações locais num ficheiro HTML, e cria um ficheiro ZIP "
+"contendo todos os ficheiros com ligações. Este módulo é executado sempre que "
+"que se adiciona um ficheiro HTML à biblioteca."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:54
msgid ""
"Character encoding for the input HTML files. Common choices include: cp1252, "
"latin1, iso-8859-1 and utf-8."
msgstr ""
-"Codificação de caracteres para os ficheiros HTML de origem. As escolhas "
+"Codificação de caracteres para os ficheiros HTML inseridos. As escolhas mais "
"comuns incluem: cp1252, latin1, iso-8859-1 e utf-8."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:61
@@ -286,9 +286,9 @@ msgid ""
"directory pmlname_img or images. This plugin is run every time you add a PML "
"file to the library."
msgstr ""
-"Cria um arquivo PMLZ, contendo o ficheiro PML e todas as imagens, no "
-"directório pmlname_img ou imagens. Este plugin, é executado, todas as vezes "
-"que você adicionar um arquivo PML à bibilioteca."
+"Cria um arquivo PMLZ, contendo o ficheiro PML e todas as imagens existentes "
+"na pasta pmlname_img ou imagens. Este módulo é executado sempre que se "
+"adicionar um ficheiro PML à bibilioteca."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:91
msgid ""
@@ -296,9 +296,9 @@ msgid ""
"Textile references to images. The referenced images as well as the TXT file "
"are added to the archive."
msgstr ""
-"Cria um arquivo TXTZ quando um ficheiro TXT importado contém referências "
-"para imagens em Markdown ou Textile. Tanto as imagens referenciadas como o "
-"próprio ficheiro TXT são adicionados ao arquivo."
+"Cria um arquivo TXTZ quando um ficheiro TXT é importado e inclui referências "
+"Markdown ou Textile a imagens. Tanto as imagens referenciadas como o próprio "
+"ficheiro TXT são adicionados ao arquivo."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:168
msgid "Extract cover from comic files"
@@ -334,7 +334,7 @@ msgstr "Lê os metadados dos livros digitais, contidos nos arquivos RAR"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:438
msgid "Read metadata from ebooks in ZIP archives"
-msgstr "Lê os metadados dos livros digitais, contidos nos arquivos ZIP"
+msgstr "Lê os metadados dos livros eletrónicos contidos em arquivos ZIP"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:451
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:472
@@ -353,7 +353,7 @@ msgstr "Define os metadados a partir dos ficheiros %s"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883
msgid "Look and Feel"
-msgstr "Aparência e Tacto"
+msgstr "Aparência e Manuseamento"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:897
@@ -365,7 +365,7 @@ msgstr "Interface"
#: /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 "Ajuste o interface de utilizador do Calibre às suas necessidades"
+msgstr "Ajuste a aparência e o manuseamento do calibre às suas preferências."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895
msgid "Behavior"
@@ -373,7 +373,7 @@ msgstr "Comportamento"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:901
msgid "Change the way calibre behaves"
-msgstr "Altere o comportamento do Calibre"
+msgstr "Altere o modo como o calibre se comporta"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906
#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:221
@@ -394,20 +394,21 @@ msgid ""
"Customize the toolbars and context menus, changing which actions are "
"available in each"
msgstr ""
-"Personalize as barras de ferramentas e menus de contexto, alterando as "
-"acções que estão disponíveis em cada um"
+"Personalize as barras de ferramentas e os menus de contexto, alterando as "
+"acções disponíveis em cada um deles."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929
msgid "Searching"
-msgstr ""
+msgstr "A procurar"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:935
msgid "Customize the way searching for books works in calibre"
-msgstr "Personalizar o modo como funciona a pesquisa de livros no calibre"
+msgstr ""
+"Personalizar o modo de funcionamento da pesquisa de livros no calibre"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:940
msgid "Input Options"
-msgstr "Opções de entrada"
+msgstr "Opções de inserção"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:942
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:953
@@ -417,7 +418,7 @@ msgstr "Conversão"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946
msgid "Set conversion options specific to each input format"
-msgstr "Defina opções especifícas para cada formato de entrada"
+msgstr "Definir opções de conversão, específicas a cada formato de entrada"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:951
msgid "Common Options"
@@ -425,7 +426,7 @@ msgstr "Opções Comuns"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:957
msgid "Set conversion options common to all formats"
-msgstr "Defina opções comuns a todos os formatos"
+msgstr "Definir opções de conversão comuns a todos os formatos"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:962
msgid "Output Options"
@@ -816,7 +817,7 @@ msgstr "Debug log"
msgid "Communicate with Android phones."
msgstr "Estabelecer ligação a telefones Android."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -824,7 +825,7 @@ msgstr ""
"Lista de directorias separada por vírgulas para enviar e-books para o "
"dispositivo (a primeira existente será usada)"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Estabelecer ligação a telefones S60."
@@ -894,14 +895,14 @@ msgstr "A actualizar a lista de metadados do dispositivo..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d de %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "terminado"
@@ -924,7 +925,7 @@ msgstr ""
"Algumas capas não puderam ser convertidas.\n"
"Carregue em 'Mostrar Detalhes' para obter a lista."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -933,22 +934,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Notícias"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Catálogo"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Estabelecer ligação com o sistema iTunes."
@@ -1324,11 +1325,11 @@ msgstr "Comunicar com o dispositivo Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "Estabelecer ligação com o dispositivo Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Comunicar com o EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Comunicar com o Nextbook Reader"
@@ -1799,6 +1800,8 @@ msgid ""
"When converting a CBC do not add links to each page to the TOC. Note this "
"only applies if the TOC has more than one section"
msgstr ""
+"Ao converter um CBC, não adicionar links para cada página ao índice. Note-se "
+"que isto apenas se aplica de o Índice tiver mais do que uma secção"
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:459
#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:471
@@ -3044,33 +3047,33 @@ msgstr ""
"Extrair os formatos e-book dos ficheiros de arquivo (zip/rar). Também tenta "
"detectar se são ficheiros cbz/cbr."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "ERRO DO TEMPLATE"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Não"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Sim"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3079,35 +3082,35 @@ msgstr "Sim"
msgid "Title"
msgstr "Título"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autor(es)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Editora"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Produtor"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Comentários"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3115,34 +3118,34 @@ msgstr "Comentários"
msgid "Tags"
msgstr "Etiquetas"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Série"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Linguagem"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Data e Hora"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Editado"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Direitos"
@@ -3323,7 +3326,7 @@ msgstr "O pedido à Amazon está a demorar demasiado. Tente mais tarde."
msgid "Metadata source"
msgstr "Fonte de meta-dados"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3507,7 +3510,7 @@ msgid "HTML TOC generation options."
msgstr "Opções de geração do Índice em HTML."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4810,47 +4813,49 @@ msgid "Choose formats to be deleted"
msgstr "Escolha os formatos a serem apagados"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Escolha os formatos que não devem ser apagados"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Não é possível apagar os livros"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Não existem dispositivos ligados"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Memória principal"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Não existem livros para apagar"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Nenhum dos livros seleccionados está no dispositvo"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "A apagar livros do aparelho."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -4858,7 +4863,7 @@ msgstr ""
"Alguns dos livros seleccionados estão no dispositivo ligado. Onde "
"deseja que os ficheiros sejam apagados?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4866,7 +4871,7 @@ msgstr ""
"Os livros seleccionados serão apagados permanentemente e os ficheiros "
"removidos da biblioteca do calibre. Tem a certeza?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4973,7 +4978,7 @@ msgstr "Descarregar os metadados e as capas"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:42
msgid "Merge into first selected book - delete others"
-msgstr ""
+msgstr "Combinar no primeiro livro selecionado - apagar restantes"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:45
msgid "Merge into first selected book - keep others"
@@ -4995,8 +5000,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -5025,7 +5030,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -5098,11 +5103,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5734,7 +5739,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Colecções"
@@ -5846,7 +5851,7 @@ msgstr "Ficheiro de destino"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8173,19 +8178,19 @@ msgid "&Profile:"
msgstr "&Perfil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "&OK"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "&Cancelar"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Editar Comentários"
@@ -8227,8 +8232,8 @@ msgid "Location"
msgstr "Localização"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8260,7 +8265,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Não foram encontradas correspondências"
@@ -8403,14 +8408,14 @@ msgid "Copied"
msgstr "Copiado"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Copiar para a Área de Transferência"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9484,7 +9489,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9669,110 +9674,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Testar as definições do email"
@@ -10205,7 +10166,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Navegador de Capas de livros"
@@ -10214,7 +10175,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Navegador de Etiquetas"
@@ -10242,7 +10203,7 @@ msgstr "Actualização encontrada"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Detalhes do livro"
@@ -10343,7 +10304,7 @@ msgid "Show books in the main memory of the device"
msgstr "Mostrar livros na memória principal do dispositivo"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Cartão A"
@@ -10352,7 +10313,7 @@ msgid "Show books in storage card A"
msgstr "Mostrar livros no cartão de armazenamento A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Cartão B"
@@ -10401,45 +10362,45 @@ msgstr "Copiar texto da procura actual (em vez do nome da procura)"
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Tamanho (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "O nome da 'procura' é \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Duplo clique para me editar
"
@@ -10990,7 +10951,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11112,15 +11073,15 @@ msgstr "&Comentários"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11128,27 +11089,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11156,35 +11117,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "A descarregar a capa..."
@@ -11397,6 +11358,219 @@ msgstr "Usar o &Visualizador interno para:"
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11882,186 +12056,137 @@ msgstr ""
msgid "new email address"
msgstr "novo endereço de email"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Pequeno"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Grande"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Médio"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Lin&guagem (precisa de reiniciar):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "Activar o &ícone na área de notificação (precisa de reiniciar)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12070,26 +12195,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12099,40 +12224,16 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
"&Mostrar o navegador de capas numa janela separada (precisa de reiniciar)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr ""
"Número de &capas a mostrar no modo de navegação (precisa de reiniciar):"
-#: /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"
@@ -12195,11 +12296,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12934,7 +13035,7 @@ msgstr ""
"Stanza no seu iPhone. Aqui myhostname deve ser o domínio ou o endereço IP do "
"computador onde o calibre está a executar."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -13002,31 +13103,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13818,7 +13921,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Procuras"
@@ -15928,21 +16031,21 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
"
A migrar a base de dados antiga para a biblioteca de livros em "
"%s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "A copiar %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "A compactar a base de dados"
@@ -16508,49 +16611,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -16560,37 +16663,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16600,7 +16703,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16610,24 +16713,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr "pesquisa exige 2 ou um número ímpar de argumentos"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -16636,11 +16739,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr "parâmetro exige um número ímpar de argumentos"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16648,7 +16751,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16657,20 +16760,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16684,7 +16798,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16692,7 +16806,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16701,19 +16815,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16721,95 +16835,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -17357,11 +17469,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -17379,11 +17491,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -17402,11 +17514,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -17434,11 +17564,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -17449,11 +17579,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -17474,11 +17604,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -17498,11 +17628,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -17519,11 +17649,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -17537,11 +17667,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -17554,11 +17684,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17629,11 +17759,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -17660,26 +17790,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -17698,11 +17828,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17714,11 +17844,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17726,11 +17856,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17740,11 +17870,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17758,11 +17888,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17770,11 +17900,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17783,33 +17913,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17819,11 +17949,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17834,11 +17964,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -21417,6 +21547,9 @@ msgstr ""
#~ msgid "Downloads metadata from Amazon"
#~ msgstr "Download de metadata da Amazon"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Escolha os formatos que não devem ser apagados"
+
#~ msgid "Download only social metadata"
#~ msgstr "Fazer download apenas de meta-dados sociais"
diff --git a/src/calibre/translations/pt_BR.po b/src/calibre/translations/pt_BR.po
index 04860f09c6..7a889c064d 100644
--- a/src/calibre/translations/pt_BR.po
+++ b/src/calibre/translations/pt_BR.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-27 15:20+0000\n"
"Last-Translator: José Roitberg \n"
"Language-Team: American English \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:56+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:51+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Não faz absolutamente nada"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Não faz absolutamente nada"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Não faz absolutamente nada"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -796,7 +796,7 @@ msgstr "Log de Debug"
msgid "Communicate with Android phones."
msgstr "Comunica-se com os telefones Android."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -804,7 +804,7 @@ msgstr ""
"Lista de diretórios separados por vírgulas para enviar eBooks ao "
"dispositivo. O primeiro existente será utilizado"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Comunica-se com os telefones S60."
@@ -884,14 +884,14 @@ msgstr "Atualizando a listagem de metadados do dispositivo..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d de %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "concluído"
@@ -914,7 +914,7 @@ msgstr ""
"Algumas capas não puderam ser convertidas.\n"
"Clique em 'Mostrar Detalhes' para a listagem."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -923,22 +923,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Notícias"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Catálogo"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Comunicar com iTunes."
@@ -1315,11 +1315,11 @@ msgstr "Comunicar-se com o Acer Lumiread"
msgid "Communicate with the Trekstor"
msgstr "Comunicar-se com o Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Comunicar-se com o EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Comunicar-se com o Nextbook Reader"
@@ -2995,33 +2995,33 @@ msgstr ""
"Extrai formatos comuns de eBooks de arquivos compactados (zip/rar). Também "
"tenta autodetectar se eles são na verdade arquivos cbz/cbr."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Não"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Sim"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3030,35 +3030,35 @@ msgstr "Sim"
msgid "Title"
msgstr "Título"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autor(es)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Editora"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Produtor"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Comentários"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3066,34 +3066,34 @@ msgstr "Comentários"
msgid "Tags"
msgstr "Tags"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Série"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Idioma"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Assinatura de tempo (timestamp)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Publicado"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Direitos"
@@ -3270,7 +3270,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3451,7 +3451,7 @@ msgid "HTML TOC generation options."
msgstr "Opções de geração de Sumário HTML."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4703,53 +4703,55 @@ msgid "Choose formats to be deleted"
msgstr "Escolha os formatos para serem apagados"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Escolha os formatos para não serem apagados"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Não foi possível apagar livros"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Nenhum dispositivo está conectado"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Memória principal"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Cartão de Memória A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Cartão de Memória B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Nenhum livro para apagar"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Nenhum dos livros selecionados estão no dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Eliminar livros do dispositivo"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4757,7 +4759,7 @@ msgstr ""
"Os livros selecionados serão permanentemente excluídos e os arquivos "
"removidos da sua biblioteca calibre. Você tem certeza?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4883,8 +4885,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4913,7 +4915,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4986,11 +4988,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5627,7 +5629,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Coleções"
@@ -5739,7 +5741,7 @@ msgstr "saída"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8050,19 +8052,19 @@ msgid "&Profile:"
msgstr "&Perfil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "&Cancelar"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Editar Comentários"
@@ -8106,8 +8108,8 @@ msgid "Location"
msgstr "Localização"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8139,7 +8141,7 @@ msgstr "Autor ordenado"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Nenhuma correspondência encontrada"
@@ -8282,14 +8284,14 @@ msgid "Copied"
msgstr "Copiado"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Copiar para a área de transferência"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9361,7 +9363,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9545,110 +9547,66 @@ msgstr "Renomear o item em cada livro onde ele for usado"
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Testar configurações de e-mail"
@@ -10071,7 +10029,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Navegador de Capas"
@@ -10080,7 +10038,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Navegador de Tags"
@@ -10108,7 +10066,7 @@ msgstr "Atualização encontrada"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Detalhes do Livro"
@@ -10209,7 +10167,7 @@ msgid "Show books in the main memory of the device"
msgstr "Mostrar livros na memória principal do dispositivo"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Cartão A"
@@ -10218,7 +10176,7 @@ msgid "Show books in storage card A"
msgstr "Mostrar livros no cartão A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Cartão B"
@@ -10266,45 +10224,45 @@ msgstr "Copia o texto da pesquisa atual (ao invés do nome da pesquisa)"
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "No dispositico"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Tamanho (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "O nome para a pesquisa é \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "Na Biblioteca"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Tamanho"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Marcado para exclusão"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Um duplo clique para editar-me
"
@@ -10862,7 +10820,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10984,15 +10942,15 @@ msgstr "&Comentários"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11000,27 +10958,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11028,35 +10986,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Baixando capa..."
@@ -11278,6 +11236,219 @@ msgstr "Usar &visualizador interno para:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Resetar todos os dialogos de &confirmação desabilitados"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Você precisa selecionar um campo para poder deleta-lo"
@@ -11773,187 +11944,138 @@ msgstr ""
msgid "new email address"
msgstr "novo endereço de email"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Amplo"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Pequeno"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Grande"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Médio"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Sempre"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Nunca"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "&Layout da Interface do Usuário (precisa reiniciar):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Selecionar &idioma (requer reinicialização):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "Habilitar ícone na bandeja do sis&tema (requer reinicialização)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr ""
"Desabilitar todas animações. Útil se você possuí um computador velho/lento."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Desabilitar &animações"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Desabilitar ¬ificações na bandeja do sistema"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Mostrar &splash screen (tela inicial) na inicialização"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "Barra de ferramen&tas"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "Tamanho do &Icone:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Mostrar &texto abaixo dos icones:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11962,26 +12084,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Mostrar média das avaliações no navegador de tags"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11991,40 +12113,16 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
"Mostrar o &navegador de capas em uma janela separada (precisa reiniciar)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr ""
"&Números de capas para mostrar no modo navegador (precisa reiniciar):"
-#: /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"
@@ -12092,11 +12190,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12828,7 +12926,7 @@ msgstr ""
"Stanza em seu iPhone. Onde myhostname deverá ser o hostname ou o endereço IP "
"do computador que o calibre está rodando."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12896,31 +12994,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13712,7 +13812,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Pesquisas"
@@ -15857,21 +15957,21 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
"
Migrando o banco de dados antigo para a biblioteca de ebook em "
"%s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Copiando %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Compactando banco de dados"
@@ -16447,49 +16547,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -16499,37 +16599,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16539,7 +16639,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16549,24 +16649,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -16575,11 +16675,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16587,7 +16687,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16596,20 +16696,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16623,7 +16734,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16631,7 +16742,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16640,19 +16751,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16660,95 +16771,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -17288,11 +17397,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -17310,11 +17419,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -17333,11 +17442,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -17365,11 +17492,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -17380,11 +17507,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr "Controlar a forma como as datas são exibidas"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -17405,11 +17532,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -17429,11 +17556,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -17450,11 +17577,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -17468,11 +17595,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -17485,11 +17612,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17560,11 +17687,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -17591,26 +17718,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -17629,11 +17756,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17645,11 +17772,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17657,11 +17784,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17671,11 +17798,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17689,11 +17816,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17701,11 +17828,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr "O número de segundos para esperar antes de enviar emails"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17714,33 +17841,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17750,11 +17877,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17765,11 +17892,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -18787,6 +18914,9 @@ msgstr ""
#~ msgid "Use a wizard to help construct the XPath expression"
#~ msgstr "Use um assistente para ajudar a construir a expressão XPath"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Escolha os formatos para não serem apagados"
+
#~ msgid "Download all scheduled recipes at once"
#~ msgstr "Baixar todas as listas agendadas de uma vez"
diff --git a/src/calibre/translations/ro.po b/src/calibre/translations/ro.po
index 1ffee5f939..e189413526 100644
--- a/src/calibre/translations/ro.po
+++ b/src/calibre/translations/ro.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-13 16:59+0000\n"
"Last-Translator: Kovid Goyal \n"
"Language-Team: Romanian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:50+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:45+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Nu face absolut nimic"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Nu face absolut nimic"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Nu face absolut nimic"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -804,7 +804,7 @@ msgstr "Registrul pentru depanare"
msgid "Communicate with Android phones."
msgstr "Comunica cu telefoane Android."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -812,7 +812,7 @@ msgstr ""
"Lista separata prin virgule a directoarelor ce vor fi trimise catre "
"dispozitiv. Va fi folosit primul dispozitiv identificat."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Comunica cu telefoanele S60."
@@ -889,14 +889,14 @@ msgstr "Actualizez lista de metadate a dispozitivului ..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d din %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "terminat"
@@ -919,7 +919,7 @@ msgstr ""
"Anumite coperti nu au putut fi convertite.\n"
"Apasa 'Afiseaza detalii' pentru o lista."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -928,22 +928,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Noutăți"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Catalog"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Comunica cu iTunes."
@@ -1318,11 +1318,11 @@ msgstr "Comunică cu Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "Comunică cu Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Comunică cu EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Comunică cu Nextbook Reader"
@@ -3127,33 +3127,33 @@ msgstr ""
"asemenea, încercaţi să autodetectaţi dacă acestea sunt de fapt fişiere "
"cbz/cbr."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "MODEL DE EROARE"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Nu"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Da"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3162,35 +3162,35 @@ msgstr "Da"
msgid "Title"
msgstr "Titlu"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autor(i)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Distribuitor"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Producător"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Comentarii"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3198,34 +3198,34 @@ msgstr "Comentarii"
msgid "Tags"
msgstr "Etichete"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Serii"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Limbă"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Amprentă de timp"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Publicat"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Drepturi"
@@ -3388,7 +3388,7 @@ msgstr "Amazon a expirat. Încercaţi din nou mai târziu."
msgid "Metadata source"
msgstr "Sursa de metadate"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3577,7 +3577,7 @@ msgid "HTML TOC generation options."
msgstr "Generator de optiuni HTML TOC"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4849,53 +4849,55 @@ msgid "Choose formats to be deleted"
msgstr "Alege formatul pentru a fi sters"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Alegeţi formatele care să nu fie şterse"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Cărţile nu pot fi şterse"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Nici un dispozitiv ne este conectat"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Memoria principala"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Card de stocare A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Card de stocare B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Nu sunt carti pentru a fi sterse"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Nici una dintre cărţile selectate nu sunt pe dispozitiv"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Ştergerea cărţilor din aparat."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4903,7 +4905,7 @@ msgstr ""
"Aceste cărţi selectate vor fi şterse permanent iar fişierele "
"îndepărtate din biblioteca dumneavoastră calibre. Sunteţi sigur?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -5029,8 +5031,8 @@ msgstr "Descărcarea metadatelor a eşuat"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr "Descărcare eșuată"
@@ -5065,7 +5067,7 @@ msgid "Download complete"
msgstr "Descărcare completă"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr "Descărcaţi log-ul"
@@ -5142,11 +5144,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr "Aplică metadate schimbate"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr "Cateva esecuri"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5772,7 +5774,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Colecții"
@@ -5884,7 +5886,7 @@ msgstr "ieşire"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8156,19 +8158,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -8210,8 +8212,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8243,7 +8245,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -8386,14 +8388,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9450,7 +9452,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9624,110 +9626,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -10147,7 +10105,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -10156,7 +10114,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -10184,7 +10142,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -10285,7 +10243,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -10294,7 +10252,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -10340,45 +10298,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10926,7 +10884,7 @@ msgid "Downloaded metadata fields"
msgstr "Descarcă campurile de metadate"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11048,15 +11006,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11064,27 +11022,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11092,35 +11050,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr "Descărcare metadate..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -11326,6 +11284,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11805,186 +11976,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11993,26 +12115,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12022,38 +12144,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -12116,11 +12214,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12816,7 +12914,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12884,31 +12982,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13696,7 +13796,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15679,19 +15779,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -16229,49 +16329,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -16281,37 +16381,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16321,7 +16421,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16331,24 +16431,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -16357,11 +16457,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16369,7 +16469,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16378,20 +16478,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16405,7 +16516,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16413,7 +16524,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16422,19 +16533,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16442,95 +16553,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -17063,11 +17172,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -17085,11 +17194,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -17108,11 +17217,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -17140,11 +17267,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -17155,11 +17282,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -17180,11 +17307,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -17204,11 +17331,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -17225,11 +17352,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -17243,11 +17370,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -17260,11 +17387,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17335,11 +17462,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -17366,26 +17493,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -17404,11 +17531,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17420,11 +17547,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17432,11 +17559,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17446,11 +17573,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17464,11 +17591,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17476,11 +17603,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17489,33 +17616,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr "Unde să transmiteţi ştirile descărcate"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17525,11 +17652,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr "Ce interfeţe ar trebui să asculte server-ului de conţinut"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17545,11 +17672,11 @@ msgstr ""
"maşina locală, sau la ':' să asculte de toate conexiunile IPv6 şi IPv4 "
"venite (acestă opţiune poate să nu funcţioneze pe toate sistemele de operare)"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -18018,3 +18145,6 @@ msgstr ""
#~ msgid "A cover was found for this book"
#~ msgstr "A fost găsită o copertă pentru acestă carte"
+
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Alegeţi formatele care să nu fie şterse"
diff --git a/src/calibre/translations/ru.po b/src/calibre/translations/ru.po
index 9a04908433..f3200b75c5 100644
--- a/src/calibre/translations/ru.po
+++ b/src/calibre/translations/ru.po
@@ -6,14 +6,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre 0.4.55\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
-"PO-Revision-Date: 2011-06-02 16:41+0000\n"
-"Last-Translator: Andrey Olykainen \n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
+"PO-Revision-Date: 2011-06-06 14:01+0000\n"
+"Last-Translator: Alexey Moskvin \n"
"Language-Team: American English \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-06-03 04:38+0000\n"
+"X-Launchpad-Export-Date: 2011-06-07 04:34+0000\n"
"X-Generator: Launchpad (build 12959)\n"
"X-Poedit-Country: RUSSIAN FEDERATION\n"
"X-Poedit-Language: Russian\n"
@@ -52,10 +52,10 @@ msgstr "Ничего не делает"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -80,7 +80,7 @@ msgstr "Ничего не делает"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -150,32 +150,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -790,7 +790,7 @@ msgstr "Журнал ошибок"
msgid "Communicate with Android phones."
msgstr "Соединиться с Android."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -798,7 +798,7 @@ msgstr ""
"Разделённый запятаями список директории для отправки e-books на это "
"устройство. Будет использовано первое в списке устройство"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Соединиться с телефоном S60"
@@ -867,14 +867,14 @@ msgstr "Обновление списка метаданных устройст
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d из %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "Готово"
@@ -897,7 +897,7 @@ msgstr ""
"Некоторые обложки не могут быть преобразованы.\n"
"Нажмите кнопку \"Показать детали\" для списка."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -906,22 +906,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Новости"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Каталог"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Соединиться с iTunes"
@@ -1298,11 +1298,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -1409,7 +1409,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:86
msgid "Preserve cover aspect ratio when building thumbnails"
-msgstr ""
+msgstr "Сохранять соотношение сторон обложки при построении миниатюр"
#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:88
msgid ""
@@ -2962,33 +2962,33 @@ msgstr ""
"Распаковать основные форматы электронных книг из архивов (zip/rar). Также "
"попытаться распознать, если они действительно cbz/cbr файлы."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "ОШИБКА ШАБЛОНА"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Нет"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Да"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2997,35 +2997,35 @@ msgstr "Да"
msgid "Title"
msgstr "Заголовок"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Издатель"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Спонсор"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Комментарии"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3033,34 +3033,34 @@ msgstr "Комментарии"
msgid "Tags"
msgstr "Теги"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Серия"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Язык"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Временная метка"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Опубликовано"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Права"
@@ -3239,7 +3239,7 @@ msgstr "Амазон не загрузился. Попробуйте позже.
msgid "Metadata source"
msgstr "Источник метаданных"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr "Загружать метаданные и обложки с Douban.com"
@@ -3419,7 +3419,7 @@ msgid "HTML TOC generation options."
msgstr "Варианты создания HTML содержания"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4687,53 +4687,55 @@ msgid "Choose formats to be deleted"
msgstr "Выберите форматы для удаления"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Выберите форматы, которые не будут удалены"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Не удается удалить книги"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Устройство не подключено"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Основная память"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Карта памяти 1"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Карта памяти 2"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Нет книг для удаления"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Выбранные книги отсутствуют в устройстве"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Удаляются книги из устройства."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4741,7 +4743,7 @@ msgstr ""
"Выделенные книги и файлы буду навсегда удалены из библиотеки calibre. "
"Вы уверены?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4867,8 +4869,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr "Ошибка загрузки"
@@ -4897,7 +4899,7 @@ msgid "Download complete"
msgstr "Загрузка завершена"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4968,11 +4970,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5609,7 +5611,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Коллекции"
@@ -5721,7 +5723,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8028,19 +8030,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Редактировать комментарии"
@@ -8082,8 +8084,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8115,7 +8117,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Совпадений не найдено"
@@ -8258,14 +8260,14 @@ msgid "Copied"
msgstr "Скопирована"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Копировать в буфер"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr "Просмотреть журнал"
@@ -9326,7 +9328,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr "Имя уже используется"
@@ -9506,110 +9508,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Изменить шаблон"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Проверить настройки электронной почты"
@@ -10038,7 +9996,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -10047,7 +10005,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -10075,7 +10033,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Детали книги"
@@ -10176,7 +10134,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Карта 1"
@@ -10185,7 +10143,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Карта 2"
@@ -10231,45 +10189,45 @@ msgstr ""
msgid "Y"
msgstr "Д"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Размер (МБ)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "Имя для поиска/просмотра: \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "В Библиотеке"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Размер"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Отмечено для удаления"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Дважды кликните по редактировать
"
@@ -10818,7 +10776,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10940,15 +10898,15 @@ msgstr "Комментарии"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10956,27 +10914,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10984,35 +10942,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr "Не удалось найти ни одной обложки для %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Загрузка обложки..."
@@ -11226,6 +11184,219 @@ msgstr "Использовать внутренний вьювер для:"
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Выделите столбец для удаления"
@@ -11718,188 +11889,139 @@ msgstr ""
msgid "new email address"
msgstr "новый адрес электронной почты"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Узкий"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Широкий"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Маленький"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Большой"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Средний"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Всегда"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Никогда"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "По первой букве"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Отключено"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
"Расположение элементов пользовательского интерфейса (требует перезапуска):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Выбрать &язык (требуется перезапуск):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "использовать иконку в &трее (необходим перезапуск)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Отключить анимацию"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Запретить &уведомления в системном трее"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Показывать заставку при запуске"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "&Панель инструментов"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "&Размер иконок:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Показывать &текст под иконками:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "Шрифт интерфейса:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "Изменить &шрифт (необходим перезапуск)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Использовать &Римские цифры для серий"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11913,11 +12035,11 @@ msgstr ""
"список групп фиксированного размера. Установите \"запрещено\",\n"
"если вы никогда не хотите видеть подкатегории."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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 "
@@ -11928,15 +12050,15 @@ msgstr ""
"\"запрещено,\n"
"то это значение будет игнорировано."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Показывать средний рейтинг в просмотрщике меток"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11946,39 +12068,15 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr "Показывать &обложку в отдельном окне (нужен перезапуск)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -12045,11 +12143,11 @@ msgstr "Дата публикации"
msgid "Configure %s %s"
msgstr "Настройка %s %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr "Источник не выбран"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12766,7 +12864,7 @@ msgstr ""
"\"myhostname\" должно быть полным именем хоста, либо ip адресом компьютера "
"на котором запущено приложение calibre."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12834,31 +12932,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13650,7 +13750,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15733,19 +15833,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%s Средня оценка %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Основная"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr "
Миграция старой базы данных в %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Копирование %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Сжатие базы данных"
@@ -16286,49 +16386,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -16338,37 +16438,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16378,7 +16478,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16388,24 +16488,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr "поиск требует 2 или нечетное число аргументов"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -16414,11 +16514,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr "для переключателя нужно нечетное число аргументов"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16426,7 +16526,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16435,20 +16535,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16462,7 +16573,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16470,7 +16581,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16479,19 +16590,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16499,95 +16610,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -17130,11 +17239,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -17152,11 +17261,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -17175,11 +17284,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -17207,11 +17334,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -17222,11 +17349,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -17247,11 +17374,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -17271,11 +17398,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -17292,11 +17419,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -17310,11 +17437,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -17327,11 +17454,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17402,11 +17529,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -17433,26 +17560,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -17471,11 +17598,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17487,11 +17614,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17499,11 +17626,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17513,11 +17640,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17531,11 +17658,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17543,11 +17670,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17556,33 +17683,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17592,11 +17719,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17607,11 +17734,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -20392,6 +20519,9 @@ msgstr ""
#~ msgid "Downloads series/tags/rating information from librarything.com"
#~ msgstr "Загружает информацию о Сериях/Тегах/Оценках с librarything.com"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Выберите форматы, которые не будут удалены"
+
#~ msgid "social metadata"
#~ msgstr "социальные метаданные"
diff --git a/src/calibre/translations/sc.po b/src/calibre/translations/sc.po
index 841b82eb34..617bc003a6 100644
--- a/src/calibre/translations/sc.po
+++ b/src/calibre/translations/sc.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2010-12-11 02:46+0000\n"
"Last-Translator: Kovid Goyal \n"
"Language-Team: Sardinian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:52+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:48+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Does absolutely nothing"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Does absolutely nothing"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Does absolutely nothing"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -744,13 +744,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +817,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -842,7 +842,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +851,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1220,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2644,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2679,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2715,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2896,7 +2896,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3074,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4249,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4427,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4457,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4528,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5145,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5257,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7527,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7581,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7614,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7755,14 +7757,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8817,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8991,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9470,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9479,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9507,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9650,7 +9608,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9617,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9663,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10245,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10367,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10383,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10411,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10645,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11337,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11476,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11505,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11575,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12275,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12343,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13157,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15135,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15685,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15737,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15777,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15787,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15813,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15825,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15834,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15872,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15880,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15889,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15909,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16512,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16534,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16557,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16607,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16622,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16647,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16671,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16692,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16710,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16727,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16802,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16833,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16871,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16887,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16899,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16913,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16931,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16943,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16956,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16992,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17007,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/sk.po b/src/calibre/translations/sk.po
index 5e895e82fb..60a60a55eb 100644
--- a/src/calibre/translations/sk.po
+++ b/src/calibre/translations/sk.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-08 19:07+0000\n"
"Last-Translator: mascot4M \n"
"Language-Team: Slovak \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:51+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:47+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Nerobí vôbec nič"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Nerobí vôbec nič"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Nerobí vôbec nič"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -784,7 +784,7 @@ msgstr "Debug log"
msgid "Communicate with Android phones."
msgstr "Komunikácia s telefónmi Android."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -792,7 +792,7 @@ msgstr ""
"Čiarkou oddelený zoznam adresárov na poslanie e-knihy do zariadení. Prvý "
"existujúci bude použitý"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Komunikácia s S60 telefónmi"
@@ -861,14 +861,14 @@ msgstr "Aktualizácia zoznamu metadát zariadenia.."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d z %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "Dokončené"
@@ -891,7 +891,7 @@ msgstr ""
"Niektoré obálky nemôžu byť skonvertované\n"
"Klikni na \"Ukázať detaily\" pre výpis."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -900,22 +900,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Novinky"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalóg"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Komunikácia s iTunes."
@@ -1285,11 +1285,11 @@ msgstr "Komunikácia s Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "Komunikácia s Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Komunikácia s EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Komunikácia s Nextbook Reader"
@@ -2884,33 +2884,33 @@ msgstr ""
"Extrakcia spoločných formátov e-kníh z archívnych (zip/rar) súborov. Tiež "
"pokus o rozpoznanie, či sú to skutočne CBZ / CBR súbory."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Nie"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Áno"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2919,35 +2919,35 @@ msgstr "Áno"
msgid "Title"
msgstr "Názov"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autor(i)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Vydavateľ"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Producent"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Poznámky"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2955,34 +2955,34 @@ msgstr "Poznámky"
msgid "Tags"
msgstr "Tagy"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Séria"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Jazyk"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Časová známka"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Publikované"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Práva"
@@ -3145,7 +3145,7 @@ msgstr "Čas pre Amazon vypršal. Skúste neskôr."
msgid "Metadata source"
msgstr "Zdroj metadat"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3332,7 +3332,7 @@ msgid "HTML TOC generation options."
msgstr "voľby HTML TOC generovania."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4523,59 +4523,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Mažem knihy zo zariadenia."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4699,8 +4701,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4729,7 +4731,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4800,11 +4802,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5418,7 +5420,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5530,7 +5532,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7807,19 +7809,19 @@ msgid "&Profile:"
msgstr "&Profil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Upraviť komentáre"
@@ -7861,8 +7863,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7894,7 +7896,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Neboli nájdené žiadne výsledky"
@@ -8037,14 +8039,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Kopírovať"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9102,7 +9104,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9281,110 +9283,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9814,7 +9772,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9823,7 +9781,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9851,7 +9809,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9952,7 +9910,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9961,7 +9919,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -10007,45 +9965,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Veľkosť (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10593,7 +10551,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10715,15 +10673,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10731,27 +10689,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10759,35 +10717,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10995,6 +10953,219 @@ msgstr "Použiť interný &prehliadač pre:"
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11474,186 +11645,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Malé"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Veľké"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Stredné"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Vyberte &jazyk (vyžaduje reštart):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "Zobraziť &ikonu v systémovej lište"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11662,26 +11784,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11691,39 +11813,15 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
"Zobraziť prehliadač &obálok v oddelenom okne (vyžaduje reštart programu)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr "Počet &obálok zobrazovaných v prehliadači (vyžaduje reštart):"
-#: /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"
@@ -11786,11 +11884,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12496,7 +12594,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12564,31 +12662,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13376,7 +13476,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15436,20 +15536,20 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
"
Migrujem starú databázu do knižnice elektronických kníh v %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Kopírujem %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Zmenšujem databázu"
@@ -15988,49 +16088,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -16040,37 +16140,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16080,7 +16180,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16090,24 +16190,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -16116,11 +16216,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16128,7 +16228,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16137,20 +16237,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16164,7 +16275,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16172,7 +16283,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16181,19 +16292,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16201,95 +16312,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16822,11 +16931,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16844,11 +16953,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16867,11 +16976,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16899,11 +17026,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16914,11 +17041,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16939,11 +17066,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16963,11 +17090,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16984,11 +17111,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -17002,11 +17129,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -17019,11 +17146,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17094,11 +17221,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -17125,26 +17252,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -17163,11 +17290,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17179,11 +17306,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17191,11 +17318,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17205,11 +17332,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17223,11 +17350,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17235,11 +17362,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17248,33 +17375,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17284,11 +17411,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17299,11 +17426,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po
index 4c1dd47f68..f99fe4d665 100644
--- a/src/calibre/translations/sl.po
+++ b/src/calibre/translations/sl.po
@@ -6,14 +6,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre 0.4.49\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
-"PO-Revision-Date: 2011-05-26 20:15+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
+"PO-Revision-Date: 2011-06-07 21:43+0000\n"
"Last-Translator: Martin Srebotnjak \n"
"Language-Team: Martin Srebotnjak \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:52+0000\n"
+"X-Launchpad-Export-Date: 2011-06-08 04:35+0000\n"
"X-Generator: Launchpad (build 12959)\n"
"X-Poedit-Country: SLOVENIA\n"
"X-Poedit-Language: Slovenian\n"
@@ -51,10 +51,10 @@ msgstr "Ne stori ničesar"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -79,7 +79,7 @@ msgstr "Ne stori ničesar"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -149,32 +149,32 @@ msgstr "Ne stori ničesar"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -239,7 +239,7 @@ msgstr "Trgovina"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:613
msgid "An ebook store."
-msgstr ""
+msgstr "Trgovina z e-knjigami."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:18
msgid ""
@@ -791,7 +791,7 @@ msgstr "Dnevnik razhroščevanja"
msgid "Communicate with Android phones."
msgstr "Povezovanje s telefoni Android."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -799,7 +799,7 @@ msgstr ""
"Seznam z vejico ločenih map za pošiljanje e-knjig na napravo. Uporabljena bo "
"prva obstoječa"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Povezovanje s telefoni S60."
@@ -871,14 +871,14 @@ msgstr "Posodabljanje seznama metapodatkov naprave ..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d od %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "končano"
@@ -901,7 +901,7 @@ msgstr ""
"Določenih naslovnic ni bilo mogoče pretvoriti.\n"
"Kliknite 'Pokaži podrobnosti' za seznam."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -910,22 +910,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Novice"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalog"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Povezovanje z iTunes."
@@ -1294,11 +1294,11 @@ msgstr "Povezovanje z bralnikom Aluratek Color."
msgid "Communicate with the Trekstor"
msgstr "Povezovanje z bralnikom Trekstor."
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Povezovanje z bralnikom EEE."
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Povezovanje z bralnikom Nextbook."
@@ -2901,33 +2901,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "NAPAKA PREDLOGE"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Ne"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Da"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2936,35 +2936,35 @@ msgstr "Da"
msgid "Title"
msgstr "Naslov"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Avtor(ji)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Založnik"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Producent"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Opombe"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2972,34 +2972,34 @@ msgstr "Opombe"
msgid "Tags"
msgstr "Značke"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Zbirka"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Jezik"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Časovni žig"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Objavljeno"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Pravice"
@@ -3157,7 +3157,7 @@ msgstr ""
msgid "Metadata source"
msgstr "Vir metapodatkov"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr "Prenese metapodatke in naslovnice z Douban.com."
@@ -3335,7 +3335,7 @@ msgid "HTML TOC generation options."
msgstr "Možnosti tvorbe kazala vsebine za HTML"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4538,59 +4538,61 @@ msgid "Choose formats to be deleted"
msgstr "Izberite vrste zapisa za brisanje"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Izberite vrste zapisa, ki jih ne želite izbrisati"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Knjig ni mogoče izbrisati"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Nobena naprava ni povezana"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Glavni pomnilnik"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Pomnilniška kartica A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Pomnilniška kartica B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Ni knjig za brisanje"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Na napravi ni izbranih knjig"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Brisanje knjig z naprave."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4714,8 +4716,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4744,7 +4746,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4815,11 +4817,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5073,7 +5075,7 @@ msgstr ""
#: /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:270
msgid "Choose stores"
-msgstr ""
+msgstr "Izberi trgovine"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:83
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:102
@@ -5432,7 +5434,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Zbirke"
@@ -5544,7 +5546,7 @@ msgstr "izhod"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7822,19 +7824,19 @@ msgid "&Profile:"
msgstr "&Profil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "V &redu"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "Pre&kliči"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Uredi komentarje"
@@ -7876,8 +7878,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7909,7 +7911,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Ni zadetkov"
@@ -8052,14 +8054,14 @@ msgid "Copied"
msgstr "Kopirano"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Kopiraj na odložišče"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9116,7 +9118,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr "Ime je že v uporabi!"
@@ -9294,110 +9296,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr "&Dokumentacija:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr "&Koda Python:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Uredi predlogo"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Preizkusi nastavitve e-pošte"
@@ -9817,7 +9775,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9826,7 +9784,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9854,7 +9812,7 @@ msgstr "Najdena posodobitev"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Podrobnosti o knjigi"
@@ -9955,7 +9913,7 @@ msgid "Show books in the main memory of the device"
msgstr "Pokaži knjige v glavnem pomnilniku naprave"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Kartica A"
@@ -9964,7 +9922,7 @@ msgid "Show books in storage card A"
msgstr "Pokaži knjige na pomn. kartici A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Kartica B"
@@ -10010,45 +9968,45 @@ msgstr ""
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "Na napravi"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Velikost (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "V knjižnici"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Velikost"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Označeno za brisanje"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Dvoklikni me, da me urediš
"
@@ -10594,7 +10552,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10716,15 +10674,15 @@ msgstr "&Komentarji"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10732,27 +10690,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10760,35 +10718,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Prenašanje naslovnice ..."
@@ -10994,6 +10952,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Stolpec mora izbrati, da ga lahko izbrišete"
@@ -11473,186 +11644,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
-msgstr ""
+msgstr "ozka"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
-msgstr ""
+msgstr "široka"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Majhno"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Veliko"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Srednje"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Vedno"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Nikoli"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Onemogočeno"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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:166
+msgid "Column coloring"
+msgstr "Obarvanost stolpcev"
-#: /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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "Oro&dna vrstica"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "Velikost &ikone:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "Pisava vmesnika:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
-msgstr ""
+msgstr "Glavni vmesnik"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11661,26 +11783,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11690,38 +11812,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11784,11 +11882,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12484,7 +12582,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12552,31 +12650,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr "Funkcije predlog"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr "Vgrajene funkcije ne morete izbrisati"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr "Funkcija ni definirana"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr "Izjema pri prevajanju funkcije"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13364,7 +13464,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Iskanja"
@@ -15404,20 +15504,20 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
"
Selitev stare zbirke podatkov v knjižnico e-knjig v %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Kopiranje %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Strnjevanje zbirke podatkov"
@@ -15955,49 +16055,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -16007,37 +16107,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16047,7 +16147,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16057,24 +16157,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -16083,11 +16183,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16095,7 +16195,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16104,20 +16204,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16131,7 +16242,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16139,7 +16250,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16148,19 +16259,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16168,95 +16279,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16789,11 +16898,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16811,11 +16920,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16834,11 +16943,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16866,11 +16993,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16881,11 +17008,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16906,11 +17033,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16930,11 +17057,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16951,11 +17078,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16969,11 +17096,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16986,11 +17113,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17061,11 +17188,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -17092,26 +17219,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -17130,11 +17257,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17146,11 +17273,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr "Določite pisavo za ustvarjanje privzete naslovnice"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17158,11 +17285,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17172,11 +17299,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr "Jezik, ki naj bo upoštevan pri razvrščanju."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17190,11 +17317,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17202,11 +17329,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17215,33 +17342,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr "Odstrani svetle rumene črte na robu seznama knjig"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr "Največja širina in višina naslovnic, shranjenih v knjižnici calibre."
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17251,11 +17378,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17266,11 +17393,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -18508,6 +18635,9 @@ msgstr ""
#~ msgid "All files from %s will be permanently deleted. Are you sure?"
#~ msgstr "Vse datoteke iz %s bodo trajno izbrisane. Želite nadaljevati?"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Izberite vrste zapisa, ki jih ne želite izbrisati"
+
#~ msgid "Download only metadata"
#~ msgstr "Prenesi le metapodatke"
diff --git a/src/calibre/translations/sq.po b/src/calibre/translations/sq.po
index 95dcf20b55..1174899f30 100644
--- a/src/calibre/translations/sq.po
+++ b/src/calibre/translations/sq.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2010-09-03 18:34+0000\n"
"Last-Translator: Besnik \n"
"Language-Team: Albanian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:37+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:33+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -744,13 +744,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +817,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -842,7 +842,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +851,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Lajme"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1220,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2644,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2679,35 @@ msgstr ""
msgid "Title"
msgstr "Titull"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autor(ë)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Botues"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Komente"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2715,34 @@ msgstr "Komente"
msgid "Tags"
msgstr "Etiketa"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Seri"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Gjuhë"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Vulë kohore"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Botuar"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Të drejta"
@@ -2896,7 +2896,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3074,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4249,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4427,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4457,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4528,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5145,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5257,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7527,19 @@ msgid "&Profile:"
msgstr "&Profil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7581,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7614,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Nuk u gjetën përputhje"
@@ -7755,14 +7757,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8817,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8991,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9470,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9479,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9507,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9650,7 +9608,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9617,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9663,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10245,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10367,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10383,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10411,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10645,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11337,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11476,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11505,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11575,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12275,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12343,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13157,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15135,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15685,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15737,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15777,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15787,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15813,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15825,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15834,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15872,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15880,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15889,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15909,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16512,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16534,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16557,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16607,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16622,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16647,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16671,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16692,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16710,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16727,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16802,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16833,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16871,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16887,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16899,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16913,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16931,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16943,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16956,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16992,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17007,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/sr.po b/src/calibre/translations/sr.po
index c34e1f688e..70eedefc25 100644
--- a/src/calibre/translations/sr.po
+++ b/src/calibre/translations/sr.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-01-25 08:58+0000\n"
"Last-Translator: Vladimir Oka \n"
"Language-Team: Serbian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:51+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:46+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Ne radi baš ništa"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Ne radi baš ništa"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Ne radi baš ništa"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -782,7 +782,7 @@ msgstr "Izveštaj o radu"
msgid "Communicate with Android phones."
msgstr "Uspastavi vezu sa Android telefonima."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -790,7 +790,7 @@ msgstr ""
"Zarezima razdvojen spisak direktorijuma na uređaju u koje će se slati "
"knjige. Koristiće se prvi postojeći."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Uspostavi vezu sa S60 telefonima."
@@ -859,14 +859,14 @@ msgstr "Ažuriranje spiska metapodataka na uređaju..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d od %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "završeno"
@@ -889,7 +889,7 @@ msgstr ""
"Neki omoti nisu mogli da budu konvertovani.\n"
"Kliknite na 'Prikaži detalje' za spisak."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -898,22 +898,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Vesti"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalog"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Uspostavi vezu sa iTunes."
@@ -1280,11 +1280,11 @@ msgstr "Uspostavi vezu sa Aluratek Color čitačem"
msgid "Communicate with the Trekstor"
msgstr "Uspostavi vezu s Trekstor čitačem"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Uspostavi vezu sa EEE čitačem."
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Uspostavi vezu s Nextbook čitačem"
@@ -2982,33 +2982,33 @@ msgstr ""
"Izvuci uobičajene formate e-knjiga iz arhiva (zip/rar). Takođe probaj da "
"otkriješ da li su to u stvari cbz/cbr fajlovi."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "GREŠKA U ŠABLONU"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Ne"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Da"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3017,35 +3017,35 @@ msgstr "Da"
msgid "Title"
msgstr "Naslov"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Autori"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Izdavač"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Producent"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Komentari"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3053,34 +3053,34 @@ msgstr "Komentari"
msgid "Tags"
msgstr "Etikete"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Serija"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Jezik"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Vremenska oznaka"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Objavljeno"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Prava"
@@ -3258,7 +3258,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3443,7 +3443,7 @@ msgid "HTML TOC generation options."
msgstr "Opcije za generisanje HTML Sadržaja"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4723,47 +4723,49 @@ msgid "Choose formats to be deleted"
msgstr "Izaberite formate za brisanje"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Izaberite formate koji neće biti obrisani"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Ne mogu da izbrišem knjige"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Nije priključen nijedan uređaj"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Osnovna memorija"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Memorijska kartica A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Memorijska kartica B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Nema knjiga koje mogu biti izbrisane"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Nijedna od izabranih knjiga se ne nalazi na uređaju"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Brišem knjige sa uređaja."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -4771,7 +4773,7 @@ msgstr ""
"Neke od izabranih knjiga se nalaze na priključenom uređaju. Odakle "
"želite da ih obrišete?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4779,7 +4781,7 @@ msgstr ""
"Izabrane knjige će biti zauvek izbrisane i fajlovi uklonjeni iz vaše "
"calibre biblioteke. Da li ste sigurni?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4905,8 +4907,8 @@ msgstr "Nisam uspeo da preuzmem metapodatke"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4935,7 +4937,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -5026,11 +5028,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5671,7 +5673,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Kolekcije"
@@ -5783,7 +5785,7 @@ msgstr "izlaz"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8121,19 +8123,19 @@ msgid "&Profile:"
msgstr "&Profil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "&OK"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "&Odustani"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Promeni komentare"
@@ -8177,8 +8179,8 @@ msgid "Location"
msgstr "Lokacija"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8210,7 +8212,7 @@ msgstr "Sortiranje po autoru"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Ništa nije pronađeno"
@@ -8353,14 +8355,14 @@ msgid "Copied"
msgstr "Kopirano"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Kopiraj u memoriju"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9484,7 +9486,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9670,110 +9672,66 @@ msgstr "Preimenuj stavku u svakoj knjizi koja je koristi."
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Uredi šablon"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Proveri podešavanja za elektronsku poštu"
@@ -10210,7 +10168,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Izlog omota"
@@ -10219,7 +10177,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Izlog etiketa"
@@ -10247,7 +10205,7 @@ msgstr "Pronađena je novija verzija"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Podaci o knjizi"
@@ -10348,7 +10306,7 @@ msgid "Show books in the main memory of the device"
msgstr "Prikaži knjige u osnovnoj memoriji uređaja"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Kartica A"
@@ -10357,7 +10315,7 @@ msgid "Show books in storage card A"
msgstr "Prikaži knjige na memorijskoj kartici A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Kartica B"
@@ -10405,45 +10363,45 @@ msgstr "Kopirajte tekst koji se trenutno traži (umesto imena pretrage)"
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "Na uređaju"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Veličina (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "Ime za pretragu je \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "UUID ove knjige je \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "U biblioteci"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Veličina"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Izabrano za brisanje"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Kliknite dva puta da me promenite
"
@@ -11014,7 +10972,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11140,15 +11098,15 @@ msgstr "&Komentari"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11156,27 +11114,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11184,35 +11142,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Preuzimam naslovnu stranu..."
@@ -11432,6 +11390,219 @@ msgstr "Koristi &ugrađeni čitač za:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "&Omogući sva isključena pitanja za potvrdu"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Da biste izbrisali kolonu morate je prvo izabrati"
@@ -11937,187 +12108,138 @@ msgstr ""
msgid "new email address"
msgstr "nova elektronska adresa"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Uzak"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Širok"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Mala"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Velika"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Srednja"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Uvek"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Nikada"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "Po prvom slovu"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Isključeno"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr "Podeljeno"
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "Izg&led korisničkog interfejsa"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Izaberi &jezik (zahteva ponovno pokretanje programa):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
"Uključi prikazivanje sis&temske ikone (zahteva ponovno startovanje programa)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr "Onemogući sve animacije. Korisno ako imate spor/stari računar."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Onemogući &animacije"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Isključi &poruke iz sistemske kasete"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Prikaži &početni ekran pri pokretanju programa"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "&Traka sa alatima"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "Veličina &ikona:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Prikaži &tekst ispod ikona:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "Vrsta slova za korisnički interfejs:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "Promeni vrstu &slova (potrebno je ponovno pokretanje)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Koristi &rimske brojeve za serije"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12131,11 +12253,11 @@ msgstr ""
"vidite grupe podjednake veličine. Postavite na 'isključeno'\n"
"ako vam podkategorije nikada nisu potrebne"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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 "
@@ -12144,15 +12266,15 @@ msgstr ""
"Ako kategorija za Izlog etiketa ima više od ovog broja, biće podeljena\n"
"na podkategorije. Ako je način deljenja isključen ova vrednost se ignoriše."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Prik&aži srednje ocene u izlogu etiketa"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12162,42 +12284,18 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
"Prikaži &izlog naslovnih strana u posebnom prozoru (zahteva ponovno "
"startovanje programa)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr ""
"&Broj naslovnih strana koje će biti prikazane u izlogu (zahteva ponovno "
"startovanje programa):"
-#: /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"
@@ -12264,11 +12362,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -13028,7 +13126,7 @@ msgstr ""
"na vašem iPhoneu. Ovde mojhost treba da bude puno ime ili IP adresa računara "
"na kojem ste pokrenuli calibre."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -13096,31 +13194,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13914,7 +14014,7 @@ msgstr ""
"Izmena metapodataka za ovoliko knjiga može potrajati. Da li ste sigurni?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Pretrage"
@@ -16205,20 +16305,20 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sSrednja ocena je %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Osnovna"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
"
Prevodim staru bazu podataka u biblioteku e-knjiga u %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Kopiram %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Sažimam bazu podataka"
@@ -16812,49 +16912,49 @@ msgstr "Nema ovakve promenljive "
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -16864,37 +16964,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16904,7 +17004,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16914,24 +17014,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr "pretraga zahteva ili 2, ili neparan broj argumenata"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -16940,11 +17040,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr "promena zateva neparan broj argumenata"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16952,7 +17052,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16961,20 +17061,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16988,7 +17099,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16996,7 +17107,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -17005,19 +17116,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -17025,95 +17136,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -17656,11 +17765,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -17678,11 +17787,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -17701,11 +17810,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -17733,11 +17860,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -17748,11 +17875,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -17773,11 +17900,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -17797,11 +17924,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -17818,11 +17945,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -17836,11 +17963,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -17853,11 +17980,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17928,11 +18055,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -17959,26 +18086,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -17997,11 +18124,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -18013,11 +18140,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -18025,11 +18152,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -18039,11 +18166,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -18057,11 +18184,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -18069,11 +18196,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -18082,33 +18209,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -18118,11 +18245,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -18133,11 +18260,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -18726,6 +18853,9 @@ msgstr ""
#~ "Izabrane knjige će biti obrisane zauvek i fajlovi uklonjeni s vašeg "
#~ "računara. Da li ste sigurni?"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Izaberite formate koji neće biti obrisani"
+
#~ msgid "Failed to download some metadata"
#~ msgstr "Nisam uspeo da preuzmem neke metapodatke"
diff --git a/src/calibre/translations/sv.po b/src/calibre/translations/sv.po
index 7071e02396..cc66b280dd 100644
--- a/src/calibre/translations/sv.po
+++ b/src/calibre/translations/sv.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-04-30 05:54+0000\n"
"Last-Translator: Kovid Goyal \n"
"Language-Team: Swedish \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:53+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:48+0000\n"
"X-Generator: Launchpad (build 12959)\n"
"X-Poedit-Country: SWEDEN\n"
"X-Poedit-Language: Swedish\n"
@@ -50,10 +50,10 @@ msgstr "Gör absolut ingenting"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -78,7 +78,7 @@ msgstr "Gör absolut ingenting"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -148,32 +148,32 @@ msgstr "Gör absolut ingenting"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -792,7 +792,7 @@ msgstr "Felsökningslogg"
msgid "Communicate with Android phones."
msgstr "Kommunicera med Android-telefoner."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -800,7 +800,7 @@ msgstr ""
"Kommaseparerad lista av kataloger på enheten dit e-böckerna skall skickas. "
"Den första katalog som finns kommer att användas"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Kommunicera med S60-telefoner"
@@ -879,14 +879,14 @@ msgstr "Uppdaterar metadata på enheten..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d av %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "slutförda"
@@ -909,7 +909,7 @@ msgstr ""
"En del omslag kan inte konverteras.\n"
"Klicka på \"Visa detaljer\" för en lista."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -918,22 +918,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Nyheter"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalog"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Kommunicera med iTunes"
@@ -1308,11 +1308,11 @@ msgstr "Kommunicera med Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "Kommunicera med Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Kommunicera med EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Kommunicera med Nextbook Reader"
@@ -3054,33 +3054,33 @@ msgstr ""
"Extrahera vanliga e-boksformat från arkiv (ZIP-/RAR-filer). Försök också att "
"automatiskt upptäcka om de egentligen är CBZ-/CBR-filer."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "MALL FEL"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Nej"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Ja"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -3089,35 +3089,35 @@ msgstr "Ja"
msgid "Title"
msgstr "Titel"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Författare"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Förlag"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Producent"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Kommentarer"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -3125,34 +3125,34 @@ msgstr "Kommentarer"
msgid "Tags"
msgstr "Etiketter"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Serie"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Språk"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Tidsstämpel"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Utgiven"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Rättigheter"
@@ -3331,7 +3331,7 @@ msgstr "Amazon tidsbegränsning löpte ut. Försök igen senare."
msgid "Metadata source"
msgstr "Metadatakälla"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3528,7 +3528,7 @@ msgid "HTML TOC generation options."
msgstr "Alternativ för innehållsförteckning från HTML."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4862,47 +4862,49 @@ msgid "Choose formats to be deleted"
msgstr "Välj format att ta bort"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Välj format att inte ta bort"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Kan ej ta bort böcker"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Ingen enhet ansluten"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Inbyggt minne"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Minneskort A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Minneskort B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Inga böcker att ta bort"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Inga av de valda böckerna finns på enheten"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Tar bort böcker från enheten"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
@@ -4910,7 +4912,7 @@ msgstr ""
"Några av de utvalda böcker på den anslutna enheten. Var vill du ha "
"de markerade filerna ska bort ifrån?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4918,7 +4920,7 @@ msgstr ""
"De utvalda böckerna kommer att tas bort permanent och filerna tas "
"bort från ditt Calibre-bibliotek. Är du säker?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -5044,8 +5046,8 @@ msgstr "Misslyckades med att hämta metadata"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr "Hämtningen misslyckades"
@@ -5079,7 +5081,7 @@ msgid "Download complete"
msgstr "Nedladdning färdig"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr "Hämta log"
@@ -5176,11 +5178,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr "Tillämpa förändrat metadata"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr "Vissa fel"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5832,7 +5834,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "Samlingar"
@@ -5944,7 +5946,7 @@ msgstr "utdata"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -8383,19 +8385,19 @@ msgid "&Profile:"
msgstr "&Profil:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "&OK"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "&Avbryt"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Redigera kommentarer"
@@ -8439,8 +8441,8 @@ msgid "Location"
msgstr "Plats"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -8478,7 +8480,7 @@ msgstr "Författarsortering"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "Inga träffar hittades"
@@ -8628,14 +8630,14 @@ msgid "Copied"
msgstr "Kopierad"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "Kopiera till urklipp"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr "Visa logg"
@@ -9810,7 +9812,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr "Namnet är redan använt"
@@ -9996,110 +9998,66 @@ msgstr "Byt namn på posten i alla böcker den används"
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr "Funktions&namn:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr "&Dokumentation:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr "Python &kod:"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "Redigera mall"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "Testa e-postsinställningar"
@@ -10537,7 +10495,7 @@ msgid "Regular expression (?P)"
msgstr "Reguljärt uttryck (?P)"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:105
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Omslagsbläddrare"
@@ -10546,7 +10504,7 @@ msgid "Shift+Alt+B"
msgstr "Skift + Alt + B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Etikettbläddrare"
@@ -10574,7 +10532,7 @@ msgstr "Uppdatering tillgänglig"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Bokinformation"
@@ -10675,7 +10633,7 @@ msgid "Show books in the main memory of the device"
msgstr "Visa böcker i läsplattans inbyggda minne"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "Kort A"
@@ -10684,7 +10642,7 @@ msgid "Show books in storage card A"
msgstr "Visa böcker på minneskort A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "Kort B"
@@ -10732,45 +10690,45 @@ msgstr "Kopiera aktuell söktext (i stället för söknamn)"
msgid "Y"
msgstr "J"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:251
msgid "On Device"
msgstr "På enhet"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "MiB"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "Söknamn är \"(0)\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "Denna boks UUID är \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "I biblioteket"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "Storlek"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "Markerat för borttagning"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "Dubbelklicka för att redigera mig
"
@@ -11353,7 +11311,7 @@ msgid "Downloaded metadata fields"
msgstr "Hämtade metadatafält"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -11478,15 +11436,15 @@ msgstr "&Kommentarer"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr "Har omslag"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr "Har sammandrag"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -11498,29 +11456,29 @@ msgstr ""
"med ett omslag med ett omslag i \n"
"omslagsnedladdningssteget, och vice versa."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr "Se på"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr "Calibre hämtar metadata från: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr "Var god vänta"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr "Fråga: "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
"Misslyckades med att hämta metadata. Klicka på Visa detaljer för att se "
"detaljer"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -11532,37 +11490,37 @@ msgstr ""
"ett enda särskiljande ord i titeln.
För att se hela loggen, klicka på "
"Visa detaljer."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr "Nuvarande omslag"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr "Söker ..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr "Hämtar omslag för %s , var god att vänta ..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
"Misslyckades med att hämta några omslag, klicka på \"Visa detaljer\" för "
"detaljer."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr "Kunde inte hitta några omslag för %s "
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr "Hittade %d omslag av %s. Välj den du gillar bäst."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr "Hämtar metadata ..."
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Hämtar omslag..."
@@ -11814,6 +11772,219 @@ msgstr "Använd interna läsare för:"
msgid "Reset all disabled &confirmation dialogs"
msgstr "Återställ alla avstängnings och bekräftelsedialogrutor"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "Du måste välja en kolumn för att radera det"
@@ -12332,187 +12503,138 @@ msgstr ""
msgid "new email address"
msgstr "ny e-postadress"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Smal"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Bred"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr "Av"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Liten"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Stor"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "Medel"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Alltid"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Aldrig"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "Efter första bokstaven"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "Inaktiverad"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr "Partitionerad"
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "Vy (omstart krävs)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Välj språk (kräver omstart):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "Visa ikon i systemfältet (kräver omstart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
msgid "Disable all animations. Useful if you have a slow/old computer."
msgstr ""
"Inaktivera alla animationer. Används om du har en långsam/gammal dator."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "Inaktivera animationer"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "Inaktivera &meddelanden i systemlistan"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "Visa uppstartsfönster"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "&Verktygsfält"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "&Ikonstorlek"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "Visa text under ikoner"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "Gränssnitts teckensnitt:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "Förändring &teckensnitt (kräver omstart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "Använd och romerska siffror för serier"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr "Markerar webbläsare kategori &partitioneringsmetoden:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -12526,11 +12648,11 @@ msgstr ""
"har en lista med fast storlek grupper. Välj inställning inaktiverad.\n"
"Om du vill aldrig underkategorier"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr "&Komprimera när fler objekt än:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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 "
@@ -12541,15 +12663,15 @@ msgstr ""
"i underkategorier. Om partitioneringsmetoden är inställt på inaktivera, "
"ignoreras detta värde."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Visa medelbetyg i etikettbläddraren"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr "Kategorier med hierarkiska objekt:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -12566,38 +12688,14 @@ msgstr ""
"både under \"Mystery\". Om \"märkning\" är inte i detta fält,\n"
"då markeringar kommer att visas på egna linje."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr "Visa omslags&bläddrare i ett separat fönster (kräver omstart)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr "A&ntal omslag att visa i bläddringsläget (kräver omstart):"
-#: /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"
@@ -12664,11 +12762,11 @@ msgstr "Publicerades"
msgid "Configure %s %s"
msgstr "Konfigurera %s %s"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr "Ingen källa vald"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr "Ingen källa vald och kan inte konfigurera."
@@ -13491,7 +13589,7 @@ msgstr ""
"läsaren på din iPhone. Myhostname bör vara det fullständiga värdnamnet eller "
"IP-adressen till datorn Calibre körs på."
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -13622,31 +13720,33 @@ msgstr ""
"
\n"
" "
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr "Mallfunktioner"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr "Du kan inte ta bort en inbyggd funktion"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr "Odefinierad funktion"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
-msgstr "Argumenträkningsfel måste -1 eller större än noll"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr "Undantag under kompileringsfunktion"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr "funktionskällkoden inte är tillgänglig"
@@ -14470,7 +14570,7 @@ msgid ""
msgstr "Ändra metadata för att många böcker kan ta ett tag. Är du säker?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Sökningar"
@@ -16823,19 +16923,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sMedelbetyget är %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "Allmänt"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr "
Migrera den gamla databasen till e-bokbibliotek i %s
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "Kopierar %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "Komprimerar databas"
@@ -17436,7 +17536,7 @@ msgstr "Ingen sådan variabel "
msgid "No documentation provided"
msgstr "Ingen dokumentation"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
@@ -17445,7 +17545,7 @@ msgstr ""
"Y som strängar. Returnerar LT om x \n"
#~ " "
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Välj format att inte ta bort"
+
#~ msgid ""
#~ "The selected books will be permanently deleted and the files removed "
#~ "from your computer. Are you sure?"
@@ -21824,6 +21919,9 @@ msgstr ""
#~ msgid "Open Editor"
#~ msgstr "Öppna Editor"
+#~ msgid "Argument count must be -1 or greater than zero"
+#~ msgstr "Argumenträkningsfel måste -1 eller större än noll"
+
#~ 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."
@@ -22166,6 +22264,58 @@ msgstr ""
#~ "till \"december\"). yy: Det år som två siffror (00 till 99). yyyy: året som "
#~ "fyra siffror."
+#~ 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 ""
+#~ "underlista (Val, start_index, end_index, separator) - tolka värdet som en "
+#~ "lista av element åtskilda av \"separator\", returnerar en ny lista gjord av "
+#~ "den \"start_index` :e till den \"end_index` :e objekt. Den första elementet "
+#~ "är siffran noll. Om ett index är negativt, då det räknas från slutet av "
+#~ "listan. Som ett specialfall, är en end_index på noll antas vara längden på "
+#~ "listan. Exempel med hjälp av grundläggande malläge och förutsatt att de "
+#~ "markerar kolumnen (som är kommaseparerad) innehåller \"A, B, C\": {Tags: "
+#~ "underlista (0,1, \\,)} returnerar \"A\". {Tags: underlista (-1,0, \\,)} "
+#~ "returnerar \"C\". {Tags: underlista (0, -1, \\,)} returnerar \"A, B\"."
+
+#~ 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 ""
+#~ "underavdelningar (Val, start_index, end_index) - Denna funktion används för "
+#~ "att bryta isär listor över sådant som genrer. Den tolkar värdet som en "
+#~ "kommaseparerad lista, där varje element är en punktseparerad lista. "
+#~ "Returnerar en ny lista gjort genom att först hitta alla punktseparerade "
+#~ "poster, därefter för varje sådan del utvinna `start_index`:e till den "
+#~ "`end_index`:e komponenter, sedan kombinera resultaten ihop igen. Den första "
+#~ "delen i en punktseparerad lista har ett index på noll. Om ett index är "
+#~ "negativt, då det räknas från slutet av listan. Som ett specialfall, är en "
+#~ "end_index på noll antas vara längden på listan. Exempel med grundläggande "
+#~ "mall läge och med en #genre värdet \"ABC\": {# genre: underavdelningar "
+#~ "(0,1)} returnerar \"A\". {#genre: underavdelningar (0,2)} returnerar \"AB\". "
+#~ "{#genre: underavdelningar (1,0)} returnerar \"BC\". Om man antar en #genre "
+#~ "värdet \"ABC, DEF\", {#genre: underavdelningar (0,1)} returnerar \"A, D\". "
+#~ "{#genre: underavdelningar (0,2)} returnerar \"AB, DE\""
+
#~ msgid "Downloads metadata from The Open Library"
#~ msgstr "Hämtar metadata från The Open Library"
@@ -22217,6 +22367,33 @@ msgstr ""
#~ msgid "Configure metadata downloading"
#~ msgstr "Konfigurera metadata nedladdning"
+#~ 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 ""
+#~ "format_date (Val, format_string) - format värdet, vilket måste vara ett "
+#~ "datumfält, med hjälp av format_string, returnerar en sträng. Formateringen "
+#~ "koder är: d: dagen som tal utan inledande nolla (1 till 31) dd: Dagen som "
+#~ "nummer med inledande nolla (01 till 31) ddd: det förkortade lokaliserade dag "
+#~ "namn (t.ex. \"Mån\" till \"Sön \"). dddd: det långa lokaliserade dag namn "
+#~ "(t.ex. \"måndag\" till \"söndag\"). M: den månad som nummer utan inledande "
+#~ "nolla (1 till 12). MM: månad som nummer med inledande nolla (01 till 12) "
+#~ "MMM: det förkortade lokaliserade månad namn (t.ex. \"Jan\" till "
+#~ "\"December\"). MMMM: det långa lokaliserade månad namn (t.ex. \"januari\" "
+#~ "till \"December\"). yy: Det år som två siffror (00 till 99). yyyy: året som "
+#~ "fyra siffror. iso: datum med tid och tidszon. Måste vara det enda formatet "
+#~ "nuvarande"
+
#~ msgid "booksize() -- return value of the field capitalized"
#~ msgstr "booksize () - returnera värdet i fältet aktiverade"
diff --git a/src/calibre/translations/ta.po b/src/calibre/translations/ta.po
index 3bc38fb6cf..dc9a241c12 100644
--- a/src/calibre/translations/ta.po
+++ b/src/calibre/translations/ta.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2010-09-03 18:46+0000\n"
"Last-Translator: Kovid Goyal \n"
"Language-Team: Tamil \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:53+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:48+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "நிச்சயமாக எதுவும் செய்யாத
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "நிச்சயமாக எதுவும் செய்யாத
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -749,13 +749,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -822,14 +822,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -847,7 +847,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -856,22 +856,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1225,11 +1225,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2649,33 +2649,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2684,35 +2684,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2720,34 +2720,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2901,7 +2901,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3079,7 +3079,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4254,59 +4254,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4430,8 +4432,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4460,7 +4462,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4531,11 +4533,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5148,7 +5150,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5260,7 +5262,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7530,19 +7532,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7584,8 +7586,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7617,7 +7619,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7760,14 +7762,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8820,7 +8822,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8994,110 +8996,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9517,7 +9475,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9526,7 +9484,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9554,7 +9512,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9655,7 +9613,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9664,7 +9622,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9710,45 +9668,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10292,7 +10250,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10414,15 +10372,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10430,27 +10388,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10458,35 +10416,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10692,6 +10650,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11171,186 +11342,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11359,26 +11481,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11388,38 +11510,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11482,11 +11580,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12182,7 +12280,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12250,31 +12348,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13062,7 +13162,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15040,19 +15140,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15590,49 +15690,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15642,37 +15742,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15682,7 +15782,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15692,24 +15792,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15718,11 +15818,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15730,7 +15830,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15739,20 +15839,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15766,7 +15877,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15774,7 +15885,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15783,19 +15894,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15803,95 +15914,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16408,11 +16517,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16430,11 +16539,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16453,11 +16562,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16485,11 +16612,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16500,11 +16627,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16525,11 +16652,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16549,11 +16676,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16570,11 +16697,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16588,11 +16715,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16605,11 +16732,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16680,11 +16807,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16711,26 +16838,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16749,11 +16876,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16765,11 +16892,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16777,11 +16904,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16791,11 +16918,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16809,11 +16936,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16821,11 +16948,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16834,33 +16961,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16870,11 +16997,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16885,11 +17012,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/te.po b/src/calibre/translations/te.po
index 5e148b003f..ffc131a492 100644
--- a/src/calibre/translations/te.po
+++ b/src/calibre/translations/te.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2010-01-09 02:04+0000\n"
"Last-Translator: Kovid Goyal \n"
"Language-Team: Telugu \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:53+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:48+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -744,13 +744,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +817,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -842,7 +842,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +851,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "వార్తలు"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1220,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2644,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2679,35 @@ msgstr ""
msgid "Title"
msgstr "శీర్షిక"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "ప్రచురణకర్త"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "నిర్మాత"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "వ్యాఖ్యలు"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2715,34 @@ msgstr "వ్యాఖ్యలు"
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "భాష"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "కాలముద్ర"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "ప్రచురితం"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "హక్కులు"
@@ -2896,7 +2896,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3074,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4249,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4427,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4457,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4528,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5145,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5257,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7527,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7581,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7614,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7755,14 +7757,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8817,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8991,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9470,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9479,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9507,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9650,7 +9608,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9617,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9663,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "పరిమాణం (మెబై)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10245,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10367,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10383,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10411,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10645,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11337,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "చిన్న"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11476,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11505,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11575,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12275,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12343,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13157,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15135,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15685,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15737,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15777,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15787,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15813,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15825,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15834,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15872,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15880,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15889,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15909,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16512,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16534,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16557,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16607,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16622,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16647,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16671,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16692,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16710,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16727,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16802,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16833,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16871,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16887,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16899,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16913,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16931,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16943,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16956,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16992,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17007,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/th.po b/src/calibre/translations/th.po
index 2593d20bd4..07c1acb8aa 100644
--- a/src/calibre/translations/th.po
+++ b/src/calibre/translations/th.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2010-11-19 23:44+0000\n"
"Last-Translator: sksy \n"
"Language-Team: Thai
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4586,8 +4588,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4616,7 +4618,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4687,11 +4689,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5304,7 +5306,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5416,7 +5418,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7686,19 +7688,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7740,8 +7742,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7773,7 +7775,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7916,14 +7918,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8976,7 +8978,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9150,110 +9152,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9673,7 +9631,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9682,7 +9640,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9710,7 +9668,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9811,7 +9769,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9820,7 +9778,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9866,45 +9824,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10448,7 +10406,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10570,15 +10528,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10586,27 +10544,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10614,35 +10572,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10848,6 +10806,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11327,186 +11498,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11515,26 +11637,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11544,38 +11666,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11638,11 +11736,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12338,7 +12436,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12406,31 +12504,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13218,7 +13318,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15196,19 +15296,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15746,49 +15846,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15798,37 +15898,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15838,7 +15938,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15848,24 +15948,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15874,11 +15974,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15886,7 +15986,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15895,20 +15995,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15922,7 +16033,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15930,7 +16041,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15939,19 +16050,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15959,95 +16070,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16564,11 +16673,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16586,11 +16695,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16609,11 +16718,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16641,11 +16768,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16656,11 +16783,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16681,11 +16808,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16705,11 +16832,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16726,11 +16853,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16744,11 +16871,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16761,11 +16888,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16836,11 +16963,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16867,26 +16994,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16905,11 +17032,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16921,11 +17048,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16933,11 +17060,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16947,11 +17074,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16965,11 +17092,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16977,11 +17104,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16990,33 +17117,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17026,11 +17153,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17041,11 +17168,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/tr.po b/src/calibre/translations/tr.po
index 4921892e1a..1cf1f6a1d2 100644
--- a/src/calibre/translations/tr.po
+++ b/src/calibre/translations/tr.po
@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
-"PO-Revision-Date: 2011-05-28 20:28+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
+"PO-Revision-Date: 2011-06-09 08:12+0000\n"
"Last-Translator: Serdar Peker \n"
"Language-Team: Turkish
\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:54+0000\n"
-"X-Generator: Launchpad (build 12959)\n"
+"X-Launchpad-Export-Date: 2011-06-10 04:36+0000\n"
+"X-Generator: Launchpad (build 13168)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
@@ -48,10 +48,10 @@ msgstr "Hiçbir şey yapmaz"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Hiçbir şey yapmaz"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "Hiçbir şey yapmaz"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -789,7 +789,7 @@ msgstr "Hata ayıklama logu"
msgid "Communicate with Android phones."
msgstr "Android telefonlar ile iletişim kur."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -797,7 +797,7 @@ msgstr ""
"Aygıtta e-kitapların gönderileceğin klasörlerin virgülle ayrılmış listesi. "
"Var olan ilk klasör kullanılacaktır."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "S60 telefonlar ile haberleş."
@@ -868,14 +868,14 @@ msgstr "Cihaz metadata listelemesi güncelleniyor."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d / %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "bitti"
@@ -898,7 +898,7 @@ msgstr ""
"Bazı kapak görselleri dönüştürülemedi.\n"
"Listeyi görmek için \"Ayrıntıları Göster\"e tıklayın."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -907,22 +907,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Haberler"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Katalog"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "iTunes ile iletişim kur."
@@ -1294,11 +1294,11 @@ msgstr "Aluratek Color ile iletişim kur"
msgid "Communicate with the Trekstor"
msgstr "Trekstor ile iletişim kur"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "EEE Reader ile iletişim kur"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Nextbook Reader ile iletişim kur"
@@ -1918,13 +1918,17 @@ msgid ""
"page and other artifacts. This option will extract the content from the "
"tables and present it in a linear fashion."
msgstr ""
+"Bazı kötü dizayn edilmiş dökümanlar sayfadaki metinin düzenlemesini kontrol "
+"için tablo kullanırlar. Bu sayfalar dönüştürüldüğünde sıklıkla metin "
+"sayfadan ve taşıyor ve başka hatalar çıkıyor. Bu seçenek içeriği tablodan "
+"çıkaracak ve onu bildiğimiz şekilde sunacak."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:205
msgid ""
"XPath expression that specifies all tags that should be added to the Table "
"of Contents at level one. If this is specified, it takes precedence over "
"other forms of auto-detection."
-msgstr ""
+msgstr "XPath ifadesi tüm etiketleri"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:214
msgid ""
@@ -1946,6 +1950,8 @@ msgid ""
"preference to the auto-generated one. With this option, the auto-generated "
"one is always used."
msgstr ""
+"Normalde kaynak içindekiler bilgisine sahipse otomatik üretilene tercihen bu "
+"bilgi kullanılır. Bu seçenek ile her zaman otomatik üretilen kullanılır"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:238
msgid "Don't add auto-detected chapters to the Table of Contents."
@@ -2001,6 +2007,7 @@ msgstr ""
msgid ""
"An XPath expression. Page breaks are inserted before the specified elements."
msgstr ""
+"Bir Xpath ifadesi. Sayfa sonu belirtilen unsurdan önce yerleştirilmeli."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:310
msgid ""
@@ -2014,21 +2021,29 @@ msgstr ""
msgid ""
"Set the top margin in pts. Default is %default. Note: 72 pts equals 1 inch"
msgstr ""
+"Üst sayfa boşluğunu pts olarak ayarla. Varsayılan %default. Not: 72 pst 1 "
+"inç'e(2,54cm) eşittir."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:326
msgid ""
"Set the bottom margin in pts. Default is %default. Note: 72 pts equals 1 inch"
msgstr ""
+"Alt sayfa boşluğunu pts olarak ayarla. Varsayılan %default. Not: 72 pst 1 "
+"inç'e(2,54cm) eşittir."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:331
msgid ""
"Set the left margin in pts. Default is %default. Note: 72 pts equals 1 inch"
msgstr ""
+"Sol sayfa boşluğunu pts olarak ayarla. Varsayılan %default. Not: 72 pst 1 "
+"inç'e(2,54cm) eşittir."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:336
msgid ""
"Set the right margin in pts. Default is %default. Note: 72 pts equals 1 inch"
msgstr ""
+"Sağ sayfa boşluğunu pts olarak ayarla. Varsayılan %default. Not: 72 pst 1 "
+"inç'e(2,54cm) eşittir."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:342
msgid ""
@@ -2045,6 +2060,9 @@ msgid ""
"1.5em. Spacing removal will not work if the source file does not use "
"paragraphs (
or
tags)."
msgstr ""
+"Paragraflar arası boşlukları kaldır. Ayrıca paragrafların girintilerini "
+"1,5em olarak ayarla. Eğer kaynak dosyası paragraları(
or
"
+"etiketleri) kullanmamışsa boşluk kaldırma çalışmayacaktır."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:359
msgid ""
@@ -2052,26 +2070,31 @@ msgid ""
"paragraph indent, to ensure that paragraphs can be easily distinguished. "
"This option controls the width of that indent."
msgstr ""
+"Calibre paragraflar arası boşlukarı kaldırdığında paragraflar kolayca ayırt "
+"edilmesini sağlamak için otomatik olarak paragraf girintisini ayarlar. Bu "
+"seçenek girintinin derinliğini kontrol eder."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:366
msgid ""
"Use the cover detected from the source file in preference to the specified "
"cover."
-msgstr ""
+msgstr "Belirtilen kapak yerine kaynak dosyasındaki algılanan kapağı kullan"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:372
msgid ""
"Insert a blank line between paragraphs. Will not work if the source file "
"does not use paragraphs (
or
tags)."
msgstr ""
-"Paragraflar arasında boş satır bırak . Eğer kaynak dosya paragraf (
veya "
-"
tag ları) kullanmıyor ise çalışmayacaktır ."
+"Paragraflar arasına boş satır ekle. Eğer kaynak dosyası paragraf (
or "
+"
etiketlerini) içermiyorsa çalışmaz"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:379
msgid ""
"Remove the first image from the input ebook. Useful if the first image in "
"the source file is a cover and you are specifying an external cover."
msgstr ""
+"Girdi ekitapdan ilk resimi çıkar. Eğer kaynak dosyadaki ilk resim kapaksa ve "
+"dışarıdan bir kapak belirliyorsanız kullanışlıdır."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:387
msgid ""
@@ -2119,6 +2142,8 @@ msgstr "Başlığı ayarla."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:442
msgid "Set the authors. Multiple authors should be separated by ampersands."
msgstr ""
+"Yazarları ayarla. Birden fazla yazar varsa ampersand (&) işareti ile "
+"ayrılmalı."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:447
msgid "The version of the title to be used for sorting. "
@@ -2126,7 +2151,7 @@ msgstr "Başlık sürümü sıralama için kullanılır. "
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:451
msgid "String to be used when sorting by author. "
-msgstr ""
+msgstr "Yazar'a göre sıralamada kullanılacak metin "
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:455
msgid "Set the cover to the specified file or URL"
@@ -2179,11 +2204,13 @@ msgstr "Dili ayarla."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:495
msgid "Set the publication date."
-msgstr ""
+msgstr "Basım tarihini ayarla"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:499
msgid "Set the book timestamp (used by the date column in calibre)."
msgstr ""
+"Kitabın tarih bilgisini ayarla (calibre'de tarih sütunu tarafından "
+"kullanılır)"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:503
msgid ""
@@ -2197,6 +2224,9 @@ msgid ""
"h3 tags. This setting will not create a TOC, but can be used in conjunction "
"with structure detection to create one."
msgstr ""
+"Biçimlendirilmemiş bölüm başlıklarını ve altbaşlıklarını algıla. Onları h2 "
+"ve h3 etiketlerine çevir. Bu ayar içindekiler yaratmayacak ama "
+"oluşturulurken yapı algılama ile bağlantılı kullanılabilecek."
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:515
msgid ""
@@ -2226,6 +2256,7 @@ msgid ""
"Remove empty paragraphs from the document when they exist between every "
"other paragraph"
msgstr ""
+"Eğer tüm paragraflar arasında boş paragraflar varsa dökümandan bunları çıkar"
#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:542
msgid ""
@@ -2766,33 +2797,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2801,35 +2832,35 @@ msgstr ""
msgid "Title"
msgstr "Eser Adı"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Yazar(lar)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Yayıncı"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Yapımcı"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Açıklamalar"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2837,34 +2868,34 @@ msgstr "Açıklamalar"
msgid "Tags"
msgstr "Etiketler"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Seriler"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Dil"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Zaman damgası"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Yayınlandı"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Haklar"
@@ -3018,7 +3049,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3196,7 +3227,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4371,59 +4402,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4547,8 +4580,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4577,7 +4610,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4648,11 +4681,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5265,7 +5298,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5377,7 +5410,7 @@ msgstr "çıktı"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7647,19 +7680,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7701,8 +7734,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7734,7 +7767,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7877,14 +7910,14 @@ msgid "Copied"
msgstr "Kopyalandı"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8937,7 +8970,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9111,110 +9144,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9634,7 +9623,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9643,7 +9632,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9671,7 +9660,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9772,7 +9761,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9781,7 +9770,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9827,45 +9816,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Boyut (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10409,7 +10398,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10531,15 +10520,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10547,27 +10536,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10575,35 +10564,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10809,6 +10798,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11288,186 +11490,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11476,26 +11629,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11505,38 +11658,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11599,11 +11728,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12299,7 +12428,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12367,31 +12496,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13179,7 +13310,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15157,19 +15288,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15707,49 +15838,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15759,37 +15890,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15799,7 +15930,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15809,24 +15940,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15835,11 +15966,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15847,7 +15978,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15856,20 +15987,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15883,7 +16025,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15891,7 +16033,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15900,19 +16042,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15920,95 +16062,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16529,11 +16669,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16551,11 +16691,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16574,11 +16714,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16606,11 +16764,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16621,11 +16779,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16646,11 +16804,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16670,11 +16828,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16691,11 +16849,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16709,11 +16867,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16726,11 +16884,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16801,11 +16959,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16832,26 +16990,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16870,11 +17028,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16886,11 +17044,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16898,11 +17056,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16912,11 +17070,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16930,11 +17088,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16942,11 +17100,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16955,33 +17113,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
-msgstr ""
+msgstr "Karşıdan yüklenmiş haberlerin yollanacağı yer"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16991,11 +17149,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17006,11 +17164,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/uk.po b/src/calibre/translations/uk.po
index c12f545d94..d27ba77e19 100644
--- a/src/calibre/translations/uk.po
+++ b/src/calibre/translations/uk.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-27 08:45+0000\n"
"Last-Translator: Andriy Bodnyk \n"
"Language-Team: Ukrainian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:54+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:49+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "Не робить абсолютно нічого"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "Не робить абсолютно нічого"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -781,7 +781,7 @@ msgstr "Журнал відлагодження"
msgid "Communicate with Android phones."
msgstr "Зв'язується з телефонами на базі операційної системи \"Android\""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -789,7 +789,7 @@ msgstr ""
"Перелік папок (розділений комами) для надсилання електронних книжок на "
"пристрій. Будуть використані ті, що були створені першими."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Зв'язується з телефонами на базі операційної системи \"S60\""
@@ -858,14 +858,14 @@ msgstr "Оновлення списку метаданих пристрою…"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d з %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "завершено"
@@ -888,7 +888,7 @@ msgstr ""
"Деякі обкладинки не можуть бути конвертовані.\n"
"Натисніть кнопку \"Показати деталі\" для списку."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -897,22 +897,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Новини"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "Каталог"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Зв’язується з iTunes."
@@ -1278,11 +1278,11 @@ msgstr "З’єднатися із Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "З’єднатися з Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "З’єднатися з EEE Reader"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "З’єднатися з Nextbook Reader"
@@ -2808,33 +2808,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "Помилка шаблону"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "Ні"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "Так"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2843,35 +2843,35 @@ msgstr "Так"
msgid "Title"
msgstr "Заголовок"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Видавець"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Виробник (продюсер)"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Коментарі"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2879,34 +2879,34 @@ msgstr "Коментарі"
msgid "Tags"
msgstr "Теґи"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Серія"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Мова"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Мітка часу"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Опубліковано"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Права"
@@ -3068,7 +3068,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3246,7 +3246,7 @@ msgid "HTML TOC generation options."
msgstr "HTML TOC параметри створення."
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4482,53 +4482,55 @@ msgid "Choose formats to be deleted"
msgstr "Виберіть формати для видалення"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Виберіть формати не для видалення"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Не вдається видалити книги"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Пристрій не підключений"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "Основна пам'ять"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "Карта пам'яті A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "Карта пам’яті B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "Немає книг для видалення"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "Вибрані книжки відсутні на пристрої"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Видалення книг з пристрою."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
@@ -4536,7 +4538,7 @@ msgstr ""
"Вибрані книги будуть видалені і їх файли з бібліотеки calibre теж. Ви "
"впевнені?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4661,8 +4663,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4691,7 +4693,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4762,11 +4764,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5382,7 +5384,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5494,7 +5496,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7764,19 +7766,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Редагувати коментарі"
@@ -7818,8 +7820,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7851,7 +7853,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7994,14 +7996,14 @@ msgid "Copied"
msgstr "Скопійована"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9057,7 +9059,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9231,110 +9233,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9756,7 +9714,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "Переглядач обкладинок"
@@ -9765,7 +9723,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "Переглядач тегів"
@@ -9793,7 +9751,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "Детально про книгу"
@@ -9894,7 +9852,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9903,7 +9861,7 @@ msgid "Show books in storage card A"
msgstr "Показати книги на картці пам'яті A"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9949,45 +9907,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Розмір (Мб)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10531,7 +10489,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10653,15 +10611,15 @@ msgstr "&Кометарі"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10669,27 +10627,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10697,35 +10655,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "Завантаження обкладинки..."
@@ -10931,6 +10889,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11411,186 +11582,137 @@ msgstr ""
msgid "new email address"
msgstr "нова адреса електронної пошти"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "Вузький"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "Широкий"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "Малий"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "Великий"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "Завжди"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "Ніколи"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "Обрати &мову"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "Панель &інструментів"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11599,26 +11721,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Показувати &середні оцінки в переглядачі тегів"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11628,38 +11750,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11722,11 +11820,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12422,7 +12520,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12490,31 +12588,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13302,7 +13402,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "Пошуки"
@@ -15282,19 +15382,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr "%sСередня оцінка %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15832,49 +15932,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15884,37 +15984,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15924,7 +16024,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15934,24 +16034,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15960,11 +16060,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15972,7 +16072,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15981,20 +16081,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16008,7 +16119,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16016,7 +16127,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16025,19 +16136,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16045,95 +16156,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16658,11 +16767,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16680,11 +16789,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16703,11 +16812,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16735,11 +16862,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16750,11 +16877,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16775,11 +16902,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16799,11 +16926,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16820,11 +16947,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16838,11 +16965,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16855,11 +16982,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16930,11 +17057,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16961,26 +17088,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16999,11 +17126,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17015,11 +17142,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17027,11 +17154,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17041,11 +17168,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17059,11 +17186,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17071,11 +17198,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17084,33 +17211,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17120,11 +17247,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17135,11 +17262,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -17410,6 +17537,9 @@ msgstr ""
#~ msgid "You cannot change libraries when a device is connected."
#~ msgstr "Ви не можете змінити бібліотеку, коли підключено пристрій."
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Виберіть формати не для видалення"
+
#~ msgid " and delete from library"
#~ msgstr " і видалити з бібліотеки"
diff --git a/src/calibre/translations/ur.po b/src/calibre/translations/ur.po
index 880466562a..efec664f8c 100644
--- a/src/calibre/translations/ur.po
+++ b/src/calibre/translations/ur.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-04-02 21:19+0000\n"
"Last-Translator: mahmood \n"
"Language-Team: Urdu \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:54+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:49+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -744,13 +744,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +817,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -842,7 +842,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +851,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1220,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2644,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2679,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2715,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2896,7 +2896,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3074,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4249,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4427,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4457,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4528,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5145,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5257,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7527,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7581,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7614,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7755,14 +7757,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8817,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8991,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9470,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9479,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9507,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9650,7 +9608,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9617,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9663,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10245,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10367,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10383,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10411,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10645,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11337,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11476,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11505,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11575,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12275,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12343,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13157,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15135,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15685,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15737,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15777,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15787,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15813,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15825,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15834,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15872,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15880,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15889,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15909,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16512,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16534,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16557,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16607,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16622,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16647,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16671,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16692,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16710,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16727,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16802,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16833,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16871,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16887,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16899,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16913,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16931,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16943,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16956,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16992,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17007,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/vi.po b/src/calibre/translations/vi.po
index 06a1a97321..5543beb9b7 100644
--- a/src/calibre/translations/vi.po
+++ b/src/calibre/translations/vi.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-06-02 02:07+0000\n"
"Last-Translator: Lê Trường An \n"
"Language-Team: Vietnamese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-06-03 04:39+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:50+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "hoàn toàn không thực thi"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "hoàn toàn không thực thi"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,32 @@ msgstr "hoàn toàn không thực thi"
#: /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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -778,7 +778,7 @@ msgstr "Nhật kí gỡ lỗi"
msgid "Communicate with Android phones."
msgstr "Giao tiếp với điện thoại Android."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@@ -786,7 +786,7 @@ msgstr ""
"Dấu phẩy tách các danh sách thư mục để gửi e-book đến thiết bị. Thư mục đầu "
"tiên có mặt sẽ được dùng."
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "Giao tiếp với điện thoại S60."
@@ -857,14 +857,14 @@ msgstr "Cập nhật danh mục thông tin mô tả của thiết bị ..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d trong số %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "đã hoàn tất"
@@ -887,7 +887,7 @@ msgstr ""
"Một số ảnh bìa sẽ không được chuyển đổi định dạng.\n"
"Nhấn vào \"Xem chi tiết\" để xem danh sách."
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -896,22 +896,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "Tin tức"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "Giao tiếp với iTunes."
@@ -1276,11 +1276,11 @@ msgstr "Giao tiếp với Aluratek Color"
msgid "Communicate with the Trekstor"
msgstr "Giao tiếp với Trekstor"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "Giao tiếp với thiết bị đọc sách EEE"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "Giao tiếp với thiết bị đọc sách Nextbook"
@@ -2795,33 +2795,33 @@ msgstr ""
"Trích xuất các định dạng sách điện tử phổ biến từ các tập tin nén (zip/rar). "
"Đồng thời tự động phát hiện nếu chúng thực chất là các tập tin cbz/cbr."
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2830,35 +2830,35 @@ msgstr ""
msgid "Title"
msgstr "Tựa đề"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread/models.py:23
msgid "Author(s)"
msgstr "Tác giả"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "Nhà xuất bản"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "Chủ nhiệm"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "Lời bình"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2866,34 +2866,34 @@ msgstr "Lời bình"
msgid "Tags"
msgstr "Thẻ"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "Bộ sách"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "Ngôn ngữ"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "Mốc thời gian"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "Đã xuất bản"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "Quyền"
@@ -3063,7 +3063,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3241,7 +3241,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4454,59 +4454,61 @@ msgid "Choose formats to be deleted"
msgstr "Chọn định dạng muốn xóa"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "Chọn định dạng không muốn xóa"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "Không thể xóa sách"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "Chưa có thiết bị nào được kết nối"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "Đang xóa sách khỏi thiết bị."
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4632,8 +4634,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4662,7 +4664,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4733,11 +4735,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5365,7 +5367,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5477,7 +5479,7 @@ msgstr "tập tin xuất"
#: /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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7765,19 +7767,19 @@ msgid "&Profile:"
msgstr "&Hồ sơ:"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "Thay đổi Lời bình/chú thích"
@@ -7821,8 +7823,8 @@ msgid "Location"
msgstr "Đường dẫn"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7854,7 +7856,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7997,14 +7999,14 @@ msgid "Copied"
msgstr "Đã sao chép"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9057,7 +9059,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9231,110 +9233,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9756,7 +9714,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9765,7 +9723,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9793,7 +9751,7 @@ msgstr "Tìm thấy cập nhật"
#: /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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9894,7 +9852,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9903,7 +9861,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9949,45 +9907,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "Dung lượng (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "Trong thư viện"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10531,7 +10489,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10653,15 +10611,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10669,27 +10627,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr "Vui lòng chờ"
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10697,35 +10655,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10931,6 +10889,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11410,186 +11581,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11598,26 +11720,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "Hiển thị đánh giá &trung bình trong trình duyệt thẻ"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11627,38 +11749,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11721,11 +11819,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12426,7 +12524,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12494,31 +12592,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13306,7 +13406,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15287,19 +15387,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15837,49 +15937,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15889,37 +15989,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15929,7 +16029,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15939,24 +16039,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15965,11 +16065,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15977,7 +16077,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15986,20 +16086,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16013,7 +16124,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16021,7 +16132,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16030,19 +16141,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16050,95 +16161,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16657,11 +16766,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16679,11 +16788,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16702,11 +16811,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16734,11 +16861,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16749,11 +16876,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16774,11 +16901,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16798,11 +16925,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16819,11 +16946,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16837,11 +16964,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16854,11 +16981,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16929,11 +17056,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16960,26 +17087,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16998,11 +17125,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17014,11 +17141,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17026,11 +17153,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17040,11 +17167,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17058,11 +17185,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17070,11 +17197,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17083,33 +17210,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17119,11 +17246,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17134,11 +17261,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -17315,6 +17442,9 @@ msgstr ""
#~ msgid "You cannot change libraries when a device is connected."
#~ msgstr "Bạn không thể thay đổi thư viện khi một thiết bị đang kết nối."
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "Chọn định dạng không muốn xóa"
+
#~ msgid " and delete from library"
#~ msgstr " và xóa khỏi thư viện"
diff --git a/src/calibre/translations/yi.po b/src/calibre/translations/yi.po
index 3d6ef8790c..3fb968edf8 100644
--- a/src/calibre/translations/yi.po
+++ b/src/calibre/translations/yi.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2009-09-04 22:02+0000\n"
"Last-Translator: Kovid Goyal \n"
"Language-Team: Yiddish \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:55+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:50+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -744,13 +744,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +817,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -842,7 +842,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +851,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1220,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2644,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2679,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2715,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2896,7 +2896,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3074,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4249,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4427,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4457,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4528,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5145,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5257,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7527,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7581,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7614,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7755,14 +7757,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8817,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8991,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9470,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9479,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9507,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9650,7 +9608,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9617,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9663,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10245,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10367,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10383,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10411,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10645,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11337,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11476,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11505,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11575,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12275,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12343,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13157,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15135,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15685,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15737,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15777,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15787,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15813,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15825,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15834,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15872,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15880,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15889,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15909,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16512,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16534,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16557,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16607,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16622,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16647,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16671,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16692,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16710,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16727,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16802,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16833,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16871,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16887,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16899,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16913,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16931,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16943,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16956,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16992,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17007,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/zh_CN.po b/src/calibre/translations/zh_CN.po
index 8cf003dc40..dc176a1bb9 100644
--- a/src/calibre/translations/zh_CN.po
+++ b/src/calibre/translations/zh_CN.po
@@ -9,14 +9,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
-"PO-Revision-Date: 2011-05-17 01:15+0000\n"
-"Last-Translator: lumpy \n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
+"PO-Revision-Date: 2011-06-07 08:46+0000\n"
+"Last-Translator: ace \n"
"Language-Team: Simplified Chinese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:57+0000\n"
+"X-Launchpad-Export-Date: 2011-06-08 04:35+0000\n"
"X-Generator: Launchpad (build 12959)\n"
"X-Poedit-Country: CHINA\n"
"X-Poedit-Language: Chinese\n"
@@ -52,10 +52,10 @@ msgstr "不做任何处理"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -80,7 +80,7 @@ msgstr "不做任何处理"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -150,32 +150,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -754,13 +754,13 @@ msgstr "调试日志"
msgid "Communicate with Android phones."
msgstr "与 Android 手机通信。"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr "逗号间隔的电子书发送到设备目录的列表。将使用第一个存在的目录。"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "与 S60 手机通信。"
@@ -832,14 +832,14 @@ msgstr "更新设备元数据列表..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "第 %d/%d 个"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "完成"
@@ -862,7 +862,7 @@ msgstr ""
"无法转换部分封面图像。\n"
"点击“详细信息”查看列表。"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -871,22 +871,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "新闻"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "分类"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "与 iTunes 通信。"
@@ -1008,7 +1008,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/boeye/driver.py:35
msgid "Communicate with BOEYE BDX serial eBook readers."
-msgstr ""
+msgstr "与欣博阅(Boeye) BEX 系列电子书阅读器通信"
#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:22
msgid "Communicate with the Cybook Gen 3 / Opus eBook reader."
@@ -1246,11 +1246,11 @@ msgstr "与 Aluratek Color 通信"
msgid "Communicate with the Trekstor"
msgstr "与 Trekstor 通信"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "与 EEE Reeder 通信"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "与 Nextbook Reader 通信"
@@ -2745,33 +2745,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr "从归档文件(zip/rar)解压一般电子书格式。同时试图自动检测是否 cbz/cbr 文件。"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "模板错误"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "否"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "是"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2780,35 +2780,35 @@ msgstr "是"
msgid "Title"
msgstr "标题"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "出版商"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "出品人"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "注释"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2816,34 +2816,34 @@ msgstr "注释"
msgid "Tags"
msgstr "标签"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "系列"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "语言"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "时间戳"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "发布于"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "权限"
@@ -3011,7 +3011,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3189,7 +3189,7 @@ msgid "HTML TOC generation options."
msgstr "HTML 目录生成选项。"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4415,59 +4415,61 @@ msgid "Choose formats to be deleted"
msgstr "选择删除格式"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "选择非删除格式"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "无法删除书籍"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "没有连接的设备"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "主内存"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "存储卡A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "存储卡B"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "没有要删除的书籍"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "设备上没有选定的书籍"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "从设备删除书籍。"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr "选定书籍将被永久删除,同时对应的文件也会从你的calibre书库中移除。你确定吗?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4505,7 +4507,7 @@ msgstr "邮件发送并从书库中删除"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:90
msgid "(delete from library)"
-msgstr ""
+msgstr "(从书库中删除)"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:105
msgid "Setup email based sharing of books"
@@ -4591,8 +4593,8 @@ msgstr "下载元数据失败"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4618,12 +4620,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
msgid "Download complete"
-msgstr ""
+msgstr "下载完成"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
-msgstr ""
+msgstr "下载日志"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:136
msgid "Some books changed"
@@ -4690,13 +4692,13 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:455
msgid "Applying changed metadata"
-msgstr ""
+msgstr "正在应用修改过的元数据"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -4733,7 +4735,7 @@ msgstr "帮助"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:12
msgid "Move to next match"
-msgstr ""
+msgstr "跳转到下一个匹配项目"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:13
msgid "Move to next highlighted match"
@@ -4755,7 +4757,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:26
msgid "Move to previous highlighted item"
-msgstr ""
+msgstr "跳转到前一个高亮匹配"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:26
msgid "Shift+N"
@@ -4930,7 +4932,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:30
msgid "Search for this author"
-msgstr ""
+msgstr "搜索当前作者"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:31
msgid "Search for this title"
@@ -5313,7 +5315,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "合集"
@@ -5425,7 +5427,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7707,19 +7709,19 @@ msgid "&Profile:"
msgstr "配置文件(&P);"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "&OK"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "取消(&C)"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "编辑评论"
@@ -7761,8 +7763,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7794,7 +7796,7 @@ msgstr "按作者排序"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "无匹配项"
@@ -7937,14 +7939,14 @@ msgid "Copied"
msgstr "已复制"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "复制到剪贴板"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8999,7 +9001,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -9173,110 +9175,66 @@ msgstr "重命名在每本书中使用的该项目"
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "编辑细节"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "测试电子邮件设置"
@@ -9704,7 +9662,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "封面浏览器"
@@ -9713,7 +9671,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "标签浏览器"
@@ -9741,7 +9699,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "书籍详情"
@@ -9842,7 +9800,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "存储卡A"
@@ -9851,7 +9809,7 @@ msgid "Show books in storage card A"
msgstr "显示存储卡A中的书籍"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "存储卡B"
@@ -9897,45 +9855,45 @@ msgstr "复制当前搜索结果列表项至搜索栏"
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "大小 (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "此书 UUID 为 \"{0}\""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "在书库中"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "大小"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "为删除作的标记"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "双击编辑该项
"
@@ -10479,7 +10437,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10601,15 +10559,15 @@ msgstr "&注释"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10617,27 +10575,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10645,35 +10603,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "正在下载封面..."
@@ -10879,6 +10837,219 @@ msgstr "使用内部浏览器显示"
msgid "Reset all disabled &confirmation dialogs"
msgstr "重置所有禁用的确认对话框"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "你必须选择一列来删除"
@@ -11364,186 +11535,137 @@ msgstr "如选中, 下载的新闻奖自动被发送到 该邮件地址 (使
msgid "new email address"
msgstr "新邮件地址"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr "窄"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr "宽"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr "小"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr "大"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr "中"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr "总是"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr "从不"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr "首字母"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr "已禁用"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr "已分区"
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr "用户界面风格(&L)(须重启生效):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr "选择界面语言, 需重启(&L):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr "显示系统托盘图标, 需重启生效(&t)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr "禁用动画效果(&A)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr "禁用系统托盘提示(&N)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr "启动时显示软件启动画面(&S)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr "工具栏(&T)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr "图标大小(&I):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr "在图标下显示文本(&T):"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr "界面字体:"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr "改变字体(&F)(需要重启)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr "使用罗马数字作为序列数字"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11552,26 +11674,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr "在标签浏览器中显示平均评分(&A)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11581,38 +11703,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr "在单独的窗口显示封面浏览界面, 需重启生效(&b)"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
msgid "&Number of covers to show in browse mode (needs restart):"
msgstr "浏览模式下显示的书籍封面数量(&N), 须重启生效:"
-#: /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"
@@ -11675,11 +11773,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12386,7 +12484,7 @@ msgstr ""
"http://myhostname:8080 作为新分类。此时 myhostname 应该为有效主机名,或者您 Calibre 程序所运行计算机的 IP "
"地址。"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12454,31 +12552,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13268,7 +13368,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "搜索"
@@ -15320,19 +15420,19 @@ msgstr "标签必须只包含小写字母,数字及下划线,并且以字母
msgid "%sAverage rating is %3.1f"
msgstr "%s的平均星级是%3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "主"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr "
正在将旧数据库转移到位于 %s 的新数据库
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "正在复制%s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "正在压缩数据库"
@@ -15871,49 +15971,49 @@ msgstr "无此变量 "
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15923,37 +16023,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15963,7 +16063,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15973,24 +16073,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15999,11 +16099,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16011,7 +16111,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16020,20 +16120,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16047,7 +16158,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16055,7 +16166,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16064,19 +16175,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16084,95 +16195,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16692,11 +16801,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16714,11 +16823,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16737,11 +16846,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16769,11 +16896,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16784,11 +16911,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16809,11 +16936,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16833,11 +16960,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16854,11 +16981,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16872,11 +16999,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16889,11 +17016,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16964,11 +17091,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16995,26 +17122,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -17033,11 +17160,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17049,11 +17176,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17061,11 +17188,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17075,11 +17202,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17093,11 +17220,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17105,11 +17232,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17118,33 +17245,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr "将下载的新闻发往何处"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17158,11 +17285,11 @@ msgstr ""
"控制发往何处。合法值包括主存储,存储卡A,存储卡B。注意\n"
"如果你选择的地方没有足够空间,文件将被发往剩余空间最大的存储位置。"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr "内容服务器应该监听什么接口"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17175,11 +17302,11 @@ msgstr ""
"calibre内容服务器默认监听‘0.0.0.0‘,这意味着可以在任何接口上接受IPv4的连接。你可以将其改为’127.0.0.1‘来监听来自本机的连接,"
"或者改为'::'来监听所有的IPv6和IPv4连接(可能并不适用所有的操作系统)。"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -19854,6 +19981,9 @@ msgstr ""
#~ msgid "Calibre Quick Start Guide"
#~ msgstr "Calibre 快速上手指南"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "选择非删除格式"
+
#~ msgid ""
#~ "No books to catalog\n"
#~ "Check exclude tags"
diff --git a/src/calibre/translations/zh_HK.po b/src/calibre/translations/zh_HK.po
index fe33db9856..2691dd9e2a 100644
--- a/src/calibre/translations/zh_HK.po
+++ b/src/calibre/translations/zh_HK.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2009-09-05 19:14+0000\n"
"Last-Translator: pikoman \n"
"Language-Team: Chinese (Hong Kong) \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:55+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:50+0000\n"
"X-Generator: Launchpad (build 12959)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@@ -48,10 +48,10 @@ msgstr "不要做任何事情"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -76,7 +76,7 @@ msgstr "不要做任何事情"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -146,32 +146,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -744,13 +744,13 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr ""
@@ -817,14 +817,14 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr ""
@@ -842,7 +842,7 @@ msgid ""
"Click 'Show Details' for a list."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -851,22 +851,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr ""
@@ -1220,11 +1220,11 @@ msgstr ""
msgid "Communicate with the Trekstor"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr ""
@@ -2644,33 +2644,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2679,35 +2679,35 @@ msgstr ""
msgid "Title"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2715,34 +2715,34 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr ""
@@ -2896,7 +2896,7 @@ msgstr ""
msgid "Metadata source"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3074,7 +3074,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:70
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
#: /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
@@ -4249,59 +4249,61 @@ msgid "Choose formats to be deleted"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4425,8 +4427,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4455,7 +4457,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4526,11 +4528,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5143,7 +5145,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr ""
@@ -5255,7 +5257,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7525,19 +7527,19 @@ 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:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
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:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr ""
@@ -7579,8 +7581,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7612,7 +7614,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr ""
@@ -7755,14 +7757,14 @@ msgid "Copied"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -8815,7 +8817,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr ""
@@ -8989,110 +8991,66 @@ msgstr ""
msgid "Ctrl+S"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 ""
@@ -9512,7 +9470,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr ""
@@ -9521,7 +9479,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:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr ""
@@ -9549,7 +9507,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr ""
@@ -9650,7 +9608,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr ""
@@ -9659,7 +9617,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:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr ""
@@ -9705,45 +9663,45 @@ msgstr ""
msgid "Y"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /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:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr ""
@@ -10287,7 +10245,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10409,15 +10367,15 @@ msgstr ""
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10425,27 +10383,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10453,35 +10411,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr ""
@@ -10687,6 +10645,219 @@ msgstr ""
msgid "Reset all disabled &confirmation dialogs"
msgstr ""
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr ""
@@ -11166,186 +11337,137 @@ msgstr ""
msgid "new email address"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Narrow"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:104
msgid "Wide"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Off"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:128
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
msgid "Small"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Large"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:129
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:130
msgid "Medium"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "Always"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
msgid "If there is enough room"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:133
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134
msgid "Never"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "By first letter"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
msgid "Disabled"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:137
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138
msgid "Partitioned"
msgstr ""
-#: /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."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
"
-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
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:198
msgid "User Interface &layout (needs restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:299
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:199
msgid "Choose &language (requires restart):"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:300
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:200
msgid "Enable system &tray icon (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:301
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:201
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:302
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202
msgid "Disable &animations"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:303
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:203
msgid "Disable ¬ifications in system tray"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:304
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:204
msgid "Show &splash screen at startup"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:305
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:205
msgid "&Toolbar"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:306
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:206
msgid "&Icon size:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:307
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:207
msgid "Show &text under icons:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:308
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:208
msgid "Interface font:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:309
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:209
msgid "Change &font (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:310
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:210
msgid "Main Interface"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:311
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:211
msgid "Select displayed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:312
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:212
msgid "Move up"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:313
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:213
msgid "Move down"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:314
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:214
msgid "Use &Roman numerals for series"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:315
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:215
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:317
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:217
msgid "Tags browser category &partitioning method:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:318
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218
msgid ""
"Choose how tag browser subcategories are displayed when\n"
"there are more items than the limit. Select by first\n"
@@ -11354,26 +11476,26 @@ msgid ""
"if you never want subcategories"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:323
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:223
msgid "&Collapse when more items than:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:324
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:224
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:326
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:226
msgid "Show &average ratings in the tags browser"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:327
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:227
msgid "Categories with &hierarchical items:"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:328
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:228
msgid ""
"A comma-separated list of columns in which items containing\n"
"periods are displayed in the tag browser trees. For example, if\n"
@@ -11383,38 +11505,14 @@ 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:335
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:235
msgid "Show cover &browser in a separate window (needs restart)"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:336
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236
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"
@@ -11477,11 +11575,11 @@ msgstr ""
msgid "Configure %s %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:293
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:295
msgid "No source selected"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:296
msgid "No source selected, cannot configure."
msgstr ""
@@ -12177,7 +12275,7 @@ msgid ""
"the IP address of the computer calibre is running on."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:23
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25
msgid ""
"\n"
"
Here you can add and remove functions used in template "
@@ -12245,31 +12343,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr ""
@@ -13057,7 +13157,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr ""
@@ -15035,19 +15135,19 @@ msgstr ""
msgid "%sAverage rating is %3.1f"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr ""
@@ -15585,49 +15685,49 @@ msgstr ""
msgid "No documentation provided"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15637,37 +15737,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -15677,7 +15777,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -15687,24 +15787,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -15713,11 +15813,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -15725,7 +15825,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -15734,20 +15834,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -15761,7 +15872,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -15769,7 +15880,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -15778,19 +15889,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -15798,95 +15909,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16403,11 +16512,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16425,11 +16534,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16448,11 +16557,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16480,11 +16607,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16495,11 +16622,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16520,11 +16647,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16544,11 +16671,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16565,11 +16692,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16583,11 +16710,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16600,11 +16727,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -16675,11 +16802,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -16706,26 +16833,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -16744,11 +16871,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -16760,11 +16887,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -16772,11 +16899,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -16786,11 +16913,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -16804,11 +16931,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -16816,11 +16943,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -16829,33 +16956,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -16865,11 +16992,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -16880,11 +17007,11 @@ msgid ""
"work on all operating systems)"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
diff --git a/src/calibre/translations/zh_TW.po b/src/calibre/translations/zh_TW.po
index 6eaf4d0cd5..ed348d1ff9 100644
--- a/src/calibre/translations/zh_TW.po
+++ b/src/calibre/translations/zh_TW.po
@@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
-"POT-Creation-Date: 2011-05-29 21:12+0000\n"
+"POT-Creation-Date: 2011-06-03 18:21+0000\n"
"PO-Revision-Date: 2011-05-20 05:37+0000\n"
"Last-Translator: Chao-Hsiung Liao \n"
"Language-Team: Chinese (traditional)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-05-30 04:57+0000\n"
+"X-Launchpad-Export-Date: 2011-06-04 04:51+0000\n"
"X-Generator: Launchpad (build 12959)\n"
"Language: zh_TW\n"
@@ -49,10 +49,10 @@ msgstr "完全不做任何事"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:88
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:454
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:459
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:96
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:462
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:467
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23
@@ -77,7 +77,7 @@ msgstr "完全不做任何事"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:298
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:78
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:81
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:208
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:303
@@ -147,32 +147,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:401
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1018
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:408
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1200
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1285
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1203
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1206
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1291
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:82
#: /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/metadata/single_download.py:161
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165
#: /home/kovid/work/calibre/src/calibre/gui2/store/google_books_plugin.py:90
#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:163
#: /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: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:1805
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1942
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2949
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2951
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:521
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:529
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:540
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1823
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1960
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2967
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2969
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102
#: /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
@@ -753,13 +753,13 @@ msgstr "除錯紀錄"
msgid "Communicate with Android phones."
msgstr "和Android 為OS的電話交換資料"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:96
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:97
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr "要將電子書傳送至裝置的目錄清單,以逗號分隔。會使用第一個存在的目錄"
-#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:146
+#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149
msgid "Communicate with S60 phones."
msgstr "與 S60 電話連接。"
@@ -826,14 +826,14 @@ msgstr "正在更新裝置元數據清單..."
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:475
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1057
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1101
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3097
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3137
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3107
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3147
msgid "%d of %d"
msgstr "%d / %d"
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:482
#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1106
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3143
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3153
#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:106
msgid "finished"
msgstr "已完成"
@@ -856,7 +856,7 @@ msgstr ""
"某些封面圖片無法轉換。\n"
"點選「顯示詳細資料」來查看清單。"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2668
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2678
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
@@ -865,22 +865,22 @@ 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:302
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:315
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:2813
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:317
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:330
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2831
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:159
msgid "News"
msgstr "新聞"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2669
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2679
#: /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:2773
#: /home/kovid/work/calibre/src/calibre/library/database2.py:2791
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:2809
msgid "Catalog"
msgstr "分類"
-#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3001
+#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3009
msgid "Communicate with iTunes."
msgstr "與 iTunes 連接。"
@@ -1239,11 +1239,11 @@ msgstr "與 Aluratek Color 連接"
msgid "Communicate with the Trekstor"
msgstr "與 Trekstor 連接"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:239
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242
msgid "Communicate with the EEE Reader"
msgstr "與 EEE Reader 連接"
-#: /home/kovid/work/calibre/src/calibre/devices/misc.py:259
+#: /home/kovid/work/calibre/src/calibre/devices/misc.py:262
msgid "Communicate with the Nextbook Reader"
msgstr "與 Nextbook Reader 連接"
@@ -2733,33 +2733,33 @@ msgid ""
"autodetect if they are actually cbz/cbr files."
msgstr "從壓縮檔 (zip/rar) 中解壓縮一般電子書格式。同時也自動偵測它們是否確實為 cbz/cbr 檔案。"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:51
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:56
msgid "Value: unknown field "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:144
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:152
msgid "TEMPLATE ERROR"
msgstr "範本錯誤"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
msgid "No"
msgstr "否"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:627
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:635
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:63
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:601
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:667
msgid "Yes"
msgstr "是"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:728
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
#: /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:64
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1023
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1029
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /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:36
@@ -2768,35 +2768,35 @@ msgstr "是"
msgid "Title"
msgstr "書名"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:729
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1024
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1030
#: /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:730
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:738
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:149
msgid "Publisher"
msgstr "出版社"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:731
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49
msgid "Producer"
msgstr "製作人"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:732
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:740
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:871
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:147
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:211
msgid "Comments"
msgstr "評論"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:734
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:742
#: /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: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:151
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171
@@ -2804,34 +2804,34 @@ msgstr "評論"
msgid "Tags"
msgstr "標籤"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:736
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:744
#: /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:73
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
#: /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
msgid "Series"
msgstr "系列"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:737
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:745
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:154
msgid "Language"
msgstr "語言"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:739
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:747
msgid "Timestamp"
msgstr "時間戳記"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:749
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:167
-#: /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/gui2/library/models.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271
msgid "Published"
msgstr "發佈於"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:743
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751
msgid "Rights"
msgstr "所有權"
@@ -2999,7 +2999,7 @@ msgstr ""
msgid "Metadata source"
msgstr "元數據來源"
-#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:154
+#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156
msgid "Downloads metadata and covers from Douban.com"
msgstr ""
@@ -3178,7 +3178,7 @@ msgid "HTML TOC generation options."
msgstr "HTML 目錄頁產生選項。"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169
-#: /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/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
@@ -4417,59 +4417,61 @@ msgid "Choose formats to be deleted"
msgstr "選擇要刪除的格式"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:155
-msgid "Choose formats not to be deleted"
-msgstr "選擇不要刪除的格式"
+msgid ""
+"Choose formats not to be deleted.
Note that this will never remove "
+"all formats from a book."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:175
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:179
msgid "Cannot delete books"
msgstr "不能刪除書籍"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:176
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:180
msgid "No device is connected"
msgstr "沒有連線中的裝置"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:186
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:190
msgid "Main memory"
msgstr "主記憶體"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:187
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:191
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:477
msgid "Storage Card A"
msgstr "記憶卡 A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:192
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470
#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479
msgid "Storage Card B"
msgstr "記憶卡 A"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:193
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:197
msgid "No books to delete"
msgstr "沒有要刪除的書籍"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:194
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:198
msgid "None of the selected books are on the device"
msgstr "裝置上沒有任何選取的書籍"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:211
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:215
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:306
msgid "Deleting books from device."
msgstr "正在從裝置中刪除書籍。"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:257
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:261
msgid ""
"Some of the selected books are on the attached device. Where do you "
"want the selected files deleted from?"
msgstr "選取的書籍中有部分是在連接的裝置上。您想要從哪裡刪除選取的檔案?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:269
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:273
msgid ""
"The selected books will be permanently deleted and the files removed "
"from your calibre library. Are you sure?"
msgstr "選取的書籍會被永遠刪除並且移除您 calibre 書庫中的檔案。您確定嗎?"
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:294
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:298
msgid ""
"The selected books will be permanently deleted from your device. Are "
"you sure?"
@@ -4593,8 +4595,8 @@ msgstr "無法下載元數據"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:462
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:716
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
msgid "Download failed"
msgstr ""
@@ -4623,7 +4625,7 @@ msgid "Download complete"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:107
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:777
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:778
msgid "Download log"
msgstr ""
@@ -4703,11 +4705,11 @@ msgstr ""
msgid "Applying changed metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:520
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:522
msgid "Some failures"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:521
+#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:523
msgid ""
"Failed to apply updated metadata for some books in your library. Click "
"\"Show Details\" to see details."
@@ -5324,7 +5326,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:1027
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1033
msgid "Collections"
msgstr "藏書"
@@ -5436,7 +5438,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:297
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:197
#: /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
@@ -7737,19 +7739,19 @@ msgid "&Profile:"
msgstr "設定檔(&P):"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:222
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:236
msgid "&OK"
msgstr "確定(_O)"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:223
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:237
#: /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"
msgstr "取消(_C)"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:70
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:88
msgid "Edit Comments"
msgstr "編輯評論"
@@ -7791,8 +7793,8 @@ msgid "Location"
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:68
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1025
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1031
#: /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
@@ -7824,7 +7826,7 @@ msgstr "作者排序"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:104
#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:471
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503
msgid "No matches found"
msgstr "未發現符合項目"
@@ -7967,14 +7969,14 @@ msgid "Copied"
msgstr "已複製"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:135
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:770
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:771
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205
msgid "Copy to clipboard"
msgstr "複製到剪貼簿"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:831
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:922
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:832
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:923
msgid "View log"
msgstr ""
@@ -9048,7 +9050,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:152
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154
msgid "Name already used"
msgstr "名稱已經使用了"
@@ -9222,110 +9224,66 @@ msgstr "重新命名每一本書中有使用到的項目。"
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:249
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:265
msgid "EXCEPTION: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:71
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:293
+msgid "No column chosen"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:294
+msgid "You must specify a column to be colored"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:297
+msgid "No template provided"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:298
+msgid "The template box cannot be empty"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:89
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:235
+msgid "Set the color of the column:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:90
+msgid "Template value:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:91
+msgid ""
+"The value the of the template using the current book in the library view"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:92
msgid "Function &name:"
msgstr "函式名稱(&N):"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:72
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:93
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100
msgid "&Documentation:"
msgstr "文件(&D):"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:94
msgid "Python &code:"
msgstr "Python 程式碼(&C):"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:36
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30
+msgid "Remove any template from the box"
+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:39
-msgid "Open Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:45
+#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41
#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:424
msgid "Edit template"
msgstr "編輯範本"
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:52
-msgid "Invalid text"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:53
-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:64
-msgid "Tag Wizard"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:72
-msgid "Tags (see the popup help for more information)"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:74
-msgid ""
-"You can enter more than one tag per box, separated by commas. The comparison "
-"ignores letter case. A tag value can be a regular expression. Check the "
-"box to turn them on. When using regular expressions, note that the wizard "
-"puts anchors (^ and $) around the expression, so you must ensure your "
-"expression matches from the beginning to the end of the tag. Regular "
-"expression examples:"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:82
-msgid ""
-"
.* matches any tag. No empty tags are checked, so "
-"you don't need to worry about empty strings
A.* "
-"matches any tag beginning with A
.*mystery.* "
-"matches any tag containing the word \"mystery\"
"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:89
-msgid "is RE"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:91
-msgid "Check this box if the tag box contains regular expressions"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:94
-msgid "Color if tag found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:96
-msgid ""
-"At least one of the two color boxes must have a value. Leave one color box "
-"empty if you want the template to use the next line in this wizard. If both "
-"boxes are filled in, the rest of the lines in this wizard will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:101
-msgid "Color if tag not found"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:103
-msgid ""
-"This box is usually filled in only on the last test. If it is filled in "
-"before the last test, then the color for tag found box must be empty or all "
-"the rest of the tests will be ignored."
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:178
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:183
-msgid "Invalid color"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:179
-#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:184
-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 "測試電子郵件設定值"
@@ -9745,7 +9703,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:337
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:237
msgid "Cover Browser"
msgstr "封面瀏覽器"
@@ -9754,7 +9712,7 @@ msgid "Shift+Alt+B"
msgstr "Shift+Alt+B"
#: /home/kovid/work/calibre/src/calibre/gui2/init.py:124
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:334
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:234
msgid "Tag Browser"
msgstr "標籤瀏覽器"
@@ -9782,7 +9740,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:316
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:216
msgid "Book Details"
msgstr "書籍詳細資料"
@@ -9883,7 +9841,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:1024
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1042
msgid "Card A"
msgstr "記憶卡 A"
@@ -9892,7 +9850,7 @@ msgid "Show books in storage card A"
msgstr "顯示在儲存卡 A 中的書籍"
#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1026
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1044
msgid "Card B"
msgstr "記憶卡 B"
@@ -9938,45 +9896,45 @@ msgstr "複製目前的搜尋文字(代替搜尋名稱)"
msgid "Y"
msgstr "Y"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66
#: /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:67
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68
msgid "Size (MB)"
msgstr "大小 (MB)"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:241
msgid "Modified"
msgstr "已修改"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:766
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1323
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1329
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:797
msgid "The lookup/search name is \"{0}\""
msgstr "尋找/搜尋的名稱是「{0}」"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:772
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1325
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:778
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1331
msgid "This book's UUID is \"{0}\""
msgstr "這本書的 UUID 為「{0}」"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1022
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1028
msgid "In Library"
msgstr "於書庫"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1026
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1032
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:311
msgid "Size"
msgstr "大小"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1303
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1309
msgid "Marked for deletion"
msgstr "標記成要刪除"
-#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1306
+#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1312
msgid "Double click to edit me
"
msgstr "請雙擊以編輯我
"
@@ -10527,7 +10485,7 @@ msgid "Downloaded metadata fields"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:51
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:824
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:825
#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401
@@ -10651,15 +10609,15 @@ msgstr "評論(&C)"
msgid "Basic metadata"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:132
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:133
msgid "Has summary"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:189
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:190
msgid ""
"The has cover indication is not fully\n"
"reliable. Sometimes results marked as not\n"
@@ -10667,27 +10625,27 @@ msgid ""
"cover stage, and vice versa."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:258
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:259
msgid "See at"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:393
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:394
msgid "calibre is downloading metadata from: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:415
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:416
msgid "Please wait"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:444
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:445
msgid "Query: "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:463
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:464
msgid "Failed to download metadata. Click Show Details to see details"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:472
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:473
msgid ""
"Failed to find any books that match your search. Try making the search "
"less specific. For example, use only the author's last name and a "
@@ -10695,35 +10653,35 @@ msgid ""
"Details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:538
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:539
msgid "Current cover"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:541
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:542
msgid "Searching..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:687
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:688
msgid "Downloading covers for %s, please wait..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:717
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:718
msgid "Failed to download any covers, click \"Show details\" for details."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:723
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:724
msgid "Could not find any covers for %s"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:725
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:726
msgid "Found %d covers of %s. Pick the one you like best."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:813
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:814
msgid "Downloading metadata..."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:906
+#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:907
msgid "Downloading cover..."
msgstr "正在下載封面..."
@@ -10929,6 +10887,219 @@ msgstr "使用內部檢視器於(&V):"
msgid "Reset all disabled &confirmation dialogs"
msgstr "重設所有停用與確認的對話盒(&C)"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:30
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:35
+msgid "is true"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:31
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36
+msgid "is false"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32
+msgid "is undefined"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:39
+msgid "has id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40
+msgid "does not have id"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:43
+msgid "is equal to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:44
+msgid "is less than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45
+msgid "is greater than"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48
+msgid "has"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49
+msgid "does not have"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50
+msgid "has pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:51
+msgid "does not have pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:52
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:60
+msgid "is set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:61
+msgid "is not set"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56
+msgid "is"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57
+msgid "is not"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58
+msgid "matches pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:59
+msgid "does not match pattern"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:71
+msgid "If the "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:77
+msgid " column "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:83
+msgid " value "
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:193
+msgid ""
+"Enter either an identifier type or an identifier type and value of the form "
+"identifier:value"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:196
+msgid "Enter a number"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:201
+msgid "Enter a date in the format YYYY-MM-DD"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:203
+msgid "Enter a string."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:205
+msgid "Enter a regular expression"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:207
+msgid "You can match multiple values by separating them with %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222
+msgid "Create/edit a column coloring rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:227
+msgid "Create a coloring rule by filling in the boxes below"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:241
+msgid "to"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:249
+msgid "Only if the following conditions are all satisfied:"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:259
+msgid "Add another condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:263
+msgid "You can disable a condition by blanking all of its boxes"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:335
+msgid "Invalid condition"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:336
+msgid "One of the conditions for this rule is invalid: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:341
+msgid "No conditions"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:342
+msgid "You must specify at least one non-empty condition for this rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:430
+msgid ""
+"\n"
+"
If the %s column %s value: %s"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:458
+msgid ""
+"You can control the color of columns in the book list by creating \"rules\" "
+"that tell calibre what color to use. Click the Add Rule button below to get "
+"started. You can change an existing rule by double clicking it."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467
+msgid "Add Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:470
+msgid "Remove Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:487
+msgid "Move the selected rule up"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:492
+msgid "Move the selected rule down"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:500
+msgid "Add Advanced Rule"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:548
+msgid "No rule selected"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:549
+msgid "No rule selected for %s."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:554
+msgid "removal"
+msgstr ""
+
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
msgid "You must select a column to delete it"
msgstr "您必須選擇要刪除的欄"
@@ -11414,186 +11585,137 @@ msgstr "如果核取這個選項,已下載的新聞就會自動寄到這個 tutorial on "
-"using templates."
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:166
+msgid "Column coloring"
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
Here you can add and remove functions used in template "
@@ -12507,31 +12605,33 @@ msgid ""
" "
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:134
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:144
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:151
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:155
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:166
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173
msgid "Template functions"
msgstr "範本函式"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:135
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137
msgid "You cannot delete a built-in function"
msgstr "您不能刪除內建的函式"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:145
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147
msgid "Function not defined"
msgstr "尚未定義函式"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:156
-msgid "Argument count must be -1 or greater than zero"
-msgstr "引數計數必須是 -1 或大於零"
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158
+msgid ""
+"Argument count should be -1 or greater than zero.Setting it to zero means "
+"that this function cannot be used in single function mode."
+msgstr ""
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:167
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174
msgid "Exception while compiling function"
msgstr "當編譯函式時發生例外"
-#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:195
+#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202
msgid "function source code not available"
msgstr "函式原始碼無法取得"
@@ -13321,7 +13421,7 @@ msgid ""
msgstr "改變許多書籍的元數據會花上一些時間。您確定嗎?"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1157
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:421
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:436
msgid "Searches"
msgstr "搜尋"
@@ -15383,19 +15483,19 @@ msgstr "標籤必須只包含小寫字母、數字和底線,並以字母開頭
msgid "%sAverage rating is %3.1f"
msgstr "%s平均評等為 %3.1f"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:1022
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:1040
msgid "Main"
msgstr "主要"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3110
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3128
msgid "
Migrating old database to ebook library in %s
"
msgstr "
將舊的資料庫轉移到 %s 的電子書庫
"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3139
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3157
msgid "Copying %s"
msgstr "正在複製 %s"
-#: /home/kovid/work/calibre/src/calibre/library/database2.py:3156
+#: /home/kovid/work/calibre/src/calibre/library/database2.py:3174
msgid "Compacting database"
msgstr "正在壓實資料庫"
@@ -15937,49 +16037,49 @@ msgstr "沒有這種變數 "
msgid "No documentation provided"
msgstr "沒有提供文件"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:90
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:92
msgid ""
"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as "
"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:105
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108
msgid ""
"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. "
"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:120
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124
msgid ""
"strcat(a, b, ...) -- can take any number of arguments. Returns a string "
"formed by concatenating all the arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:133
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:138
msgid ""
"add(x, y) -- returns x + y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:143
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:149
msgid ""
"subtract(x, y) -- returns x - y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:153
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:160
msgid ""
"multiply(x, y) -- returns x * y. Throws an exception if either x or y are "
"not numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:163
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:171
msgid ""
"divide(x, y) -- returns x / y. Throws an exception if either x or y are not "
"numbers."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:173
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:183
msgid ""
"template(x) -- evaluates x as a template. The evaluation is done in its own "
"context, meaning that variables are not shared between the caller and the "
@@ -15989,37 +16089,37 @@ msgid ""
"template {title_sort} and return its value."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:188
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:199
msgid ""
"eval(template) -- evaluates the template, passing the local variables (those "
"'assign'ed to) instead of the book metadata. This permits using the "
"template processor to construct complex results from local variables."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:201
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:213
msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr "assign(id, val) -- 將 val 指派 id,然後傳回 val。id 必須為識別,不是正規表示式"
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:211
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:224
msgid ""
"print(a, b, ...) -- prints the arguments to standard output. Unless you "
"start calibre from the command line (calibre-debug -g), the output will go "
"to a black hole."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:222
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:236
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:230
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:245
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:239
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:255
msgid ""
"substr(str, start, end) -- returns the start'th through the end'th "
"characters of str. The first character in str is the zero'th character. If "
@@ -16029,7 +16129,7 @@ msgid ""
"'234'."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:252
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:269
msgid ""
"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, "
"except the arguments are field (metadata) names, not text. The value of the "
@@ -16039,24 +16139,24 @@ msgid ""
"constructing variable save paths"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:267
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid "lookup requires either 2 or an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:279
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:297
msgid ""
"test(val, text if not empty, text if empty) -- return `text if not empty` if "
"the field is not empty, otherwise return `text if empty`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:291
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:310
msgid ""
"contains(val, pattern, text if match, text if not match) -- checks if field "
"contains matches for the regular expression `pattern`. Returns `text if "
"match` if matches are found, otherwise it returns `text if no match`"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:306
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
msgid ""
"switch(val, pattern, value, pattern, value, ..., else_value) -- for each "
"`pattern, value` pair, checks if the field matches the regular expression "
@@ -16065,11 +16165,11 @@ msgid ""
"want"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:314
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:334
msgid "switch requires an odd number of arguments"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:347
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 "
@@ -16077,7 +16177,7 @@ msgid ""
"otherwise return not_found_val."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:342
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:365
msgid ""
"str_in_list(val, separator, string, found_val, not_found_val) -- treat val "
"as a list of items separated by separator, comparing the string against each "
@@ -16086,20 +16186,31 @@ msgid ""
"is also treated as a list and each value is checked."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:361
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
+msgid ""
+"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list "
+"of identifiers separated by commas, comparing the string against each value "
+"in the list. An identifier has the format \"identifier:value\". The id "
+"parameter should be either \"id\" or \"id:regexp\". The first case matches "
+"if there is any identifier with that id. The second case matches if the "
+"regexp matches the identifier's value. If there is a match, return "
+"found_val, otherwise return not_found_val."
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:412
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:372
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:424
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:384
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:437
msgid ""
"shorten(val, left chars, middle text, right chars) -- Return a shortened "
"version of the field, consisting of `left chars` characters from the "
@@ -16113,7 +16224,7 @@ msgid ""
"example, the title `The Dome` would not be changed."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:409
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:463
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 "
@@ -16121,7 +16232,7 @@ msgid ""
"{tags:count(,)}, {authors:count(&)}"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:420
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475
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 "
@@ -16130,19 +16241,19 @@ msgid ""
"separator has the same meaning as in the count function."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:440
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:496
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:457
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:514
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 "
+"`start_index` to the `end_index` 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\". "
@@ -16150,95 +16261,93 @@ msgid ""
"\"A, B\"."
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:486
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:545
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:523
-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:551
-msgid "uppercase(val) -- return value of the field in upper case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:559
-msgid "lowercase(val) -- return value of the field in lower case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:567
-msgid "titlecase(val) -- return value of the field in title case"
-msgstr ""
-
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:575
-msgid "capitalize(val) -- return value of the field capitalized"
+"each such item extracting the start_index` to the `end_index` 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:583
+msgid ""
+"format_date(val, format_string) -- format the value, which must be a date, "
+"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:612
+msgid "uppercase(val) -- return value of the field in upper case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:621
+msgid "lowercase(val) -- return value of the field in lower case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:630
+msgid "titlecase(val) -- return value of the field in title case"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
+msgid "capitalize(val) -- return value of the field capitalized"
+msgstr ""
+
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:648
msgid "booksize() -- return value of the size field"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:596
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:662
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
-#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:607
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:674
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:623
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:691
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:639
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:708
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:655
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:725
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:671
+#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:742
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 "
@@ -16760,11 +16869,11 @@ msgid ""
"Can be either True or False"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:40
+#: /home/kovid/work/calibre/resources/default_tweaks.py:39
msgid "Author sort name algorithm"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:41
+#: /home/kovid/work/calibre/resources/default_tweaks.py:40
msgid ""
"The algorithm used to copy author to author_sort\n"
"Possible values are:\n"
@@ -16782,11 +16891,11 @@ msgid ""
"periods are automatically handled."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:58
+#: /home/kovid/work/calibre/resources/default_tweaks.py:57
msgid "Use author sort in Tag Browser"
msgstr "在標籤瀏覽器中使用作者排序"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:59
+#: /home/kovid/work/calibre/resources/default_tweaks.py:58
msgid ""
"Set which author field to display in the tags pane (the list of authors,\n"
"series, publishers etc on the left hand side). The choices are author and\n"
@@ -16805,11 +16914,29 @@ msgid ""
"categories_use_field_for_author_name = 'author_sort'"
msgstr ""
+#: /home/kovid/work/calibre/resources/default_tweaks.py:72
+msgid ""
+"Completion sort order: choose when to change from lexicographic to ASCII-like"
+msgstr ""
+
#: /home/kovid/work/calibre/resources/default_tweaks.py:73
+msgid ""
+"Calibre normally uses locale-dependent lexicographic ordering when showing\n"
+"completion values. This means that the sort order is correct for the user's\n"
+"language. However, this can be slow. Performance is improved by switching "
+"to\n"
+"ascii ordering. This tweak controls when that switch happens. Set it to "
+"zero\n"
+"to always use ascii ordering. Set it to something larger than zero to "
+"switch\n"
+"to ascii ordering for performance reasons."
+msgstr ""
+
+#: /home/kovid/work/calibre/resources/default_tweaks.py:81
msgid "Control partitioning of Tag Browser"
msgstr "控制標籤瀏覽器的分割"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:74
+#: /home/kovid/work/calibre/resources/default_tweaks.py:82
msgid ""
"When partitioning the tags browser, the format of the subcategory label is\n"
"controlled by a template: categories_collapsed_name_template if sorting by\n"
@@ -16837,11 +16964,11 @@ msgid ""
"even if there aren't any backslashes."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:96
+#: /home/kovid/work/calibre/resources/default_tweaks.py:103
msgid "Specify columns to sort the booklist by on startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:97
+#: /home/kovid/work/calibre/resources/default_tweaks.py:104
msgid ""
"Provide a set of columns to be sorted on when calibre starts\n"
"The argument is None if saved sort history is to be used\n"
@@ -16852,11 +16979,11 @@ msgid ""
"title within authors."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:106
+#: /home/kovid/work/calibre/resources/default_tweaks.py:113
msgid "Control how dates are displayed"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:107
+#: /home/kovid/work/calibre/resources/default_tweaks.py:114
msgid ""
"Format to be used for publication date and the timestamp (date).\n"
"A string controlling how the publication date is displayed in the GUI\n"
@@ -16877,11 +17004,11 @@ msgid ""
"timestamp default if not set: dd MMM yyyy"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:128
+#: /home/kovid/work/calibre/resources/default_tweaks.py:135
msgid "Control sorting of titles and series in the library display"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:129
+#: /home/kovid/work/calibre/resources/default_tweaks.py:136
msgid ""
"Control title and series sorting in the library view. If set to\n"
"'library_order', the title sort field will be used instead of the title.\n"
@@ -16901,11 +17028,11 @@ msgid ""
"without changing anything is sufficient to change the sort."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:142
+#: /home/kovid/work/calibre/resources/default_tweaks.py:149
msgid "Control formatting of title and series when used in templates"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:143
+#: /home/kovid/work/calibre/resources/default_tweaks.py:150
msgid ""
"Control how title and series names are formatted when saving to "
"disk/sending\n"
@@ -16922,11 +17049,11 @@ msgid ""
"strictly_alphabetic, it would remain \"The Lord of the Rings\"."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:155
+#: /home/kovid/work/calibre/resources/default_tweaks.py:162
msgid "Set the list of words considered to be \"articles\" for sort strings"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:156
+#: /home/kovid/work/calibre/resources/default_tweaks.py:163
msgid ""
"Set the list of words that are to be considered 'articles' when computing "
"the\n"
@@ -16940,11 +17067,11 @@ msgid ""
"Default: '^(A|The|An)\\s+'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:165
+#: /home/kovid/work/calibre/resources/default_tweaks.py:172
msgid "Specify a folder calibre should connect to at startup"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:166
+#: /home/kovid/work/calibre/resources/default_tweaks.py:173
msgid ""
"Specify a folder that calibre should connect to at startup using\n"
"connect_to_folder. This must be a full path to the folder. If the folder "
@@ -16957,11 +17084,11 @@ msgid ""
"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:175
+#: /home/kovid/work/calibre/resources/default_tweaks.py:182
msgid "Specify renaming rules for SONY collections"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:176
+#: /home/kovid/work/calibre/resources/default_tweaks.py:183
msgid ""
"Specify renaming rules for sony collections. This tweak is only applicable "
"if\n"
@@ -17032,11 +17159,11 @@ msgid ""
"sony_collection_name_template='{category:||: }{value}'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:228
+#: /home/kovid/work/calibre/resources/default_tweaks.py:235
msgid "Specify how SONY collections are sorted"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:229
+#: /home/kovid/work/calibre/resources/default_tweaks.py:236
msgid ""
"Specify how sony collections are sorted. This tweak is only applicable if\n"
"metadata management is set to automatic. You can indicate which metadata is "
@@ -17063,26 +17190,26 @@ msgid ""
"Default: empty (no rules), so no collection attributes are named."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:247
+#: /home/kovid/work/calibre/resources/default_tweaks.py:253
msgid "Control how tags are applied when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:248
+#: /home/kovid/work/calibre/resources/default_tweaks.py:254
msgid ""
"Set this to True to ensure that tags in 'Tags to add when adding\n"
"a book' are added when copying books to another library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:253
+#: /home/kovid/work/calibre/resources/default_tweaks.py:258
msgid "Set the maximum number of tags to show per book in the content server"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:257
+#: /home/kovid/work/calibre/resources/default_tweaks.py:261
msgid ""
"Set custom metadata fields that the content server will or will not display."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:258
+#: /home/kovid/work/calibre/resources/default_tweaks.py:262
msgid ""
"content_server_will_display is a list of custom fields to be displayed.\n"
"content_server_wont_display is a list of custom fields not to be displayed.\n"
@@ -17101,11 +17228,11 @@ msgid ""
"content_server_wont_display['#mycomments']"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:275
+#: /home/kovid/work/calibre/resources/default_tweaks.py:279
msgid "Set the maximum number of sort 'levels'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:276
+#: /home/kovid/work/calibre/resources/default_tweaks.py:280
msgid ""
"Set the maximum number of sort 'levels' that calibre will use to resort the\n"
"library after certain operations such as searches or device insertion. Each\n"
@@ -17117,11 +17244,11 @@ msgid ""
"tweak."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:283
+#: /home/kovid/work/calibre/resources/default_tweaks.py:287
msgid "Specify which font to use when generating a default cover"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:284
+#: /home/kovid/work/calibre/resources/default_tweaks.py:288
msgid ""
"Absolute path to .ttf font files to use as the fonts for the title, author\n"
"and footer when generating a default cover. Useful if the default font "
@@ -17129,11 +17256,11 @@ msgid ""
"Serif) does not contain glyphs for the language of the books in your library."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:290
+#: /home/kovid/work/calibre/resources/default_tweaks.py:294
msgid "Control behavior of double clicks on the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:291
+#: /home/kovid/work/calibre/resources/default_tweaks.py:295
msgid ""
"Behavior of doubleclick on the books list. Choices: open_viewer, "
"do_nothing,\n"
@@ -17143,11 +17270,11 @@ msgid ""
"Example: doubleclick_on_library_view = 'do_nothing'"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:299
+#: /home/kovid/work/calibre/resources/default_tweaks.py:302
msgid "Language to use when sorting."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:300
+#: /home/kovid/work/calibre/resources/default_tweaks.py:303
msgid ""
"Setting this tweak will force sorting to use the\n"
"collating order for the specified language. This might be useful if you run\n"
@@ -17161,11 +17288,11 @@ msgid ""
"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:311
+#: /home/kovid/work/calibre/resources/default_tweaks.py:314
msgid "Number of columns for custom metadata in the edit metadata dialog"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:312
+#: /home/kovid/work/calibre/resources/default_tweaks.py:315
msgid ""
"Set whether to use one or two columns for custom metadata when editing\n"
"metadata one book at a time. If True, then the fields are laid out using "
@@ -17173,11 +17300,11 @@ msgid ""
"columns. If False, one column is used."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:317
+#: /home/kovid/work/calibre/resources/default_tweaks.py:320
msgid "The number of seconds to wait before sending emails"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:318
+#: /home/kovid/work/calibre/resources/default_tweaks.py:321
msgid ""
"The number of seconds to wait before sending emails when using a\n"
"public email server like gmail or hotmail. Default is: 5 minutes\n"
@@ -17186,33 +17313,33 @@ msgid ""
"calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:325
+#: /home/kovid/work/calibre/resources/default_tweaks.py:328
msgid "Remove the bright yellow lines at the edges of the book list"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:326
+#: /home/kovid/work/calibre/resources/default_tweaks.py:329
msgid ""
"Control whether the bright yellow lines at the edges of book list are drawn\n"
"when a section of the user interface is hidden. Changes will take effect\n"
"after a restart of calibre."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:331
+#: /home/kovid/work/calibre/resources/default_tweaks.py:334
msgid "The maximum width and height for covers saved in the calibre library"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:332
+#: /home/kovid/work/calibre/resources/default_tweaks.py:335
msgid ""
"All covers in the calibre library will be resized, preserving aspect ratio,\n"
"to fit within this size. This is to prevent slowdowns caused by extremely\n"
"large covers"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:337
+#: /home/kovid/work/calibre/resources/default_tweaks.py:340
msgid "Where to send downloaded news"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:338
+#: /home/kovid/work/calibre/resources/default_tweaks.py:341
msgid ""
"When automatically sending downloaded news to a connected device, calibre\n"
"will by default send it to the main memory. By changing this tweak, you can\n"
@@ -17222,11 +17349,11 @@ msgid ""
"the files will be sent to the location with the most free space."
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:345
+#: /home/kovid/work/calibre/resources/default_tweaks.py:348
msgid "What interfaces should the content server listen on"
msgstr "內容伺服器要聽取哪個介面"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:346
+#: /home/kovid/work/calibre/resources/default_tweaks.py:349
msgid ""
"By default, the calibre content server listens on '0.0.0.0' which means that "
"it\n"
@@ -17242,11 +17369,11 @@ msgstr ""
"「::」則會聽取所有 IPv6 與 IPv4 連線 (這可能無法在\n"
"所有的作業系統上運作)"
-#: /home/kovid/work/calibre/resources/default_tweaks.py:353
+#: /home/kovid/work/calibre/resources/default_tweaks.py:356
msgid "Unified toolbar on OS X"
msgstr ""
-#: /home/kovid/work/calibre/resources/default_tweaks.py:354
+#: /home/kovid/work/calibre/resources/default_tweaks.py:357
msgid ""
"If you enable this option and restart calibre, the toolbar will be "
"'unified'\n"
@@ -18012,6 +18139,9 @@ msgstr ""
#~ msgid "Device database corrupted"
#~ msgstr "裝置資料庫已損毀"
+#~ msgid "Choose formats not to be deleted"
+#~ msgstr "選擇不要刪除的格式"
+
#~ msgid "Failed to download metadata for the following:"
#~ msgstr "以下項目下載元數據失敗:"
@@ -18796,6 +18926,9 @@ msgstr ""
#~ msgid "Plugin {0} successfully removed"
#~ msgstr "外掛程式 {0} 已成功的移除"
+#~ msgid "Argument count must be -1 or greater than zero"
+#~ msgstr "引數計數必須是 -1 或大於零"
+
#~ msgid "All available tweaks"
#~ msgstr "所有可用的調整"
diff --git a/src/calibre/utils/smtp.py b/src/calibre/utils/smtp.py
index 1e05cf8287..2887f985a4 100644
--- a/src/calibre/utils/smtp.py
+++ b/src/calibre/utils/smtp.py
@@ -202,6 +202,10 @@ def main(args=sys.argv):
if len(args) > 1:
+ if len(args) < 4:
+ print ('You must specify the from address, to address and body text'
+ ' on the command line')
+ return 1
msg = compose_mail(args[1], args[2], args[3], subject=opts.subject,
attachment=opts.attachment)
from_, to = args[1:3]